#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <math.h>
#include <time.h>

#include "Niveau.h"


Niveau* creerNiveau (Terrain* pterrain, Boss* pbos, Heros* pheros, TabEnnemis* ptab_pennemiss, 
		     TabTirs* ptab_ptirss, TabBonus* ptab_bonuss)
{
	assert(pterrain != NULL && pbos != NULL && pheros != NULL && ptab_pennemiss  != NULL 
		&& ptab_ptirss != NULL && ptab_bonuss != NULL);
	Niveau* pniveau = (Niveau*)(malloc(sizeof(Niveau)));
	initNiveau (pniveau, pterrain, pbos, pheros, ptab_pennemiss, ptab_ptirss, ptab_bonuss);
	return pniveau;
}

void initNiveau (Niveau* pniveau, Terrain* pterrain, Boss* pbos, Heros* pheros,
		 TabEnnemis* ptab_pennemiss, TabTirs* ptab_ptirss, TabBonus* ptab_bonuss)
{
	assert(pniveau != NULL && pterrain != NULL && pbos != NULL && pheros != NULL
		&& ptab_pennemiss  != NULL && ptab_ptirss != NULL && ptab_bonuss != NULL);
	pniveau->score_niveau = 0;
	pniveau->pterrains = pterrain;
	pniveau->pboss = pbos;
	pniveau->phero = pheros;
	pniveau->ptab_pennemis = ptab_pennemiss;
	pniveau->ptab_ptirs = ptab_ptirss;
	pniveau->ptab_pbonus = ptab_bonuss;
	pniveau->score_niveau = 0;
	pniveau->posY_debut_fenetre = (getDimY_terrain(niveauGetConstTerrainPtr(pniveau)))-150; //reglage de la fenetre d'animation tt ce qui est en dehors ne bouge pas.
	pniveau->posY_fin_fenetre = (getDimY_terrain(niveauGetConstTerrainPtr(pniveau)));
	pniveau->phero->posY_heros = pniveau->posY_fin_fenetre-(49.0/4.0);
	pniveau->num_niveau_actuel = 0; 
	pniveau->num_niveau_suivant = 1; 
	pniveau->difficulte = 0;
	pniveau->defilement = 0.3;
}

void libereNiveau (Niveau* pniveau)
{
	assert (pniveau != NULL);
	detruireTerrain(&(pniveau->pterrains));
	detruireBoss(&(pniveau->pboss));
	detruireHeros(&(pniveau->phero));
	detruireTabEnnemis(&(pniveau->ptab_pennemis));
	detruireTabTirs(&(pniveau->ptab_ptirs));
	detruireTabBonus(&(pniveau->ptab_pbonus));
}

void detruireNiveau (Niveau** ppniveau)
{
	assert (ppniveau != NULL && *ppniveau != NULL);
	free (*ppniveau);
	*ppniveau=NULL;
}

Terrain* niveauGetTerrainPtr(Niveau* pniveau)
{
	assert (pniveau != NULL);
	return (pniveau->pterrains);
}

Heros* niveauGetHerosPtr(Niveau* pniveau)
{
	assert (pniveau != NULL);
	return (pniveau->phero);
}

Boss* niveauGetBossPtr(const Niveau* pniveau)
{
	assert (pniveau != NULL);
	return (pniveau->pboss);
}

TabTirs* niveauGetTabTir(const Niveau* pniveau)
{
	assert (pniveau != NULL);
	return (pniveau->ptab_ptirs);
}


Ennemi* niveauGetEnnemiPtr(const Niveau* pniveau, const int i_ennemi)
{
	assert (pniveau != NULL && i_ennemi >= 0);
	assert (pniveau->ptab_pennemis->ptab_ennemis[i_ennemi] != NULL);
	return (pniveau->ptab_pennemis->ptab_ennemis[i_ennemi]);
}

Tir* niveauGetTirPtr(const Niveau* pniveau, const int i_tir)
{
	assert (pniveau != NULL && i_tir >= 0);
	assert (pniveau->ptab_ptirs->ptab_tirs[i_tir] != NULL);
	return (pniveau->ptab_ptirs->ptab_tirs[i_tir]);
}


Bonus* niveauGetBonusPtr(const Niveau* pniveau, const int i_bonus)
{
	assert (pniveau != NULL && i_bonus >= 0);
	assert (pniveau->ptab_pbonus->ptab_bonus[i_bonus] != NULL);
	return (pniveau->ptab_pbonus->ptab_bonus[i_bonus]);
}

const Terrain* niveauGetConstTerrainPtr(const Niveau* pniveau)
{
	assert (pniveau != NULL);
	return (pniveau->pterrains);
}

const Heros* niveauGetConstHerosPtr(const Niveau* pniveau)
{
	assert (pniveau != NULL);
	return (pniveau->phero);
}

const Boss* niveauGetConstBossPtr(const Niveau* pniveau)
{
	assert (pniveau != NULL);
	return (pniveau->pboss);
}

const int getScoreNiveau (const Niveau* pniveau)
{
	assert(pniveau != NULL);
	return pniveau->score_niveau;
}

void setScoreNiveau (Niveau* pniveau, const int score)
{
	assert(pniveau!=NULL && score>=0);
	pniveau->score_niveau = score;
}

const int getNbreEnnemis (const Niveau* pniveau)
{
	assert(pniveau != NULL);
	return pniveau->ptab_pennemis->nbre_ennemis;
}

const int getNbreTirs (const Niveau* pniveau)
{
	assert(pniveau != NULL);
	return pniveau->ptab_ptirs->nbre_tirs;
}

const int getNbreBonus (const Niveau* pniveau)
{
	assert(pniveau != NULL);
	return pniveau->ptab_pbonus->nbre_bonus;
}

const int getNumNiveauActuel (const Niveau* pniveau)
{
	assert(pniveau != NULL);
	return pniveau->num_niveau_actuel;
}

void setNumNiveauActuel (Niveau* pniveau, const int num_niveau)
{
	assert(pniveau != NULL && num_niveau >= 0);
	pniveau->num_niveau_actuel = num_niveau;
}

const float getDefilementNiveau (const Niveau* pniveau)
{
	assert(pniveau != NULL);
	return pniveau->defilement;
}

void setDefilementNiveau (Niveau* pniveau, const float defil)
{
	assert(pniveau != NULL && defil > 0);
	pniveau->defilement = defil;
}

const int getNumNiveauSuivant (const Niveau* pniveau)
{
	assert(pniveau != NULL);
	return pniveau->num_niveau_suivant;
}

const int getDifficulteNiveau (const Niveau* pniveau)
{
	assert(pniveau != NULL);
	return pniveau->difficulte;
}

void setDifficulteNiveau (Niveau* pniveau, const Difficulte difficult)
{
	assert(pniveau != NULL);
	assert(difficult == 0 || difficult == 1 || difficult == 2 || difficult == 3);
	pniveau->difficulte = difficult;
}

void augmenterScoreNiveau (Niveau* pniveau, const int ajout)
{
	assert(pniveau!=NULL && ajout>0);
	setScoreNiveau(pniveau, getScoreNiveau(pniveau) + ajout);
}


void ondeDeChoc(Niveau* pniveau)
{
	int j_ennemi;
	for (j_ennemi=0; j_ennemi<getNbreEnnemis(pniveau) ; j_ennemi++)
		{
			Ennemi* pennemi = NULL;
			pennemi = niveauGetEnnemiPtr(pniveau, j_ennemi);
			if (pennemi->posY_ennemi <= pniveau->posY_fin_fenetre
				    && pennemi->posY_ennemi >= pniveau->posY_debut_fenetre)
			// Destruction des ennemis pris dans l'onde de choc.
			{						
				Bonus* pbonus_temp;
				augmenterScoreNiveau(pniveau,100);
				pbonus_temp=creerBonus (pennemi);
				if (pbonus_temp != NULL)
				    ajouterBonus (pniveau->ptab_pbonus, pbonus_temp);
				supprimerEnnemi(pniveau->ptab_pennemis,pennemi);
						
			}
			
		}
					//supprimerTir(niveauGetTabTir(pniveau),niveauGetTabTir(pniveau)->ptab_tirs[i_tir])	
}	

void niveauActionClavierSouris (Niveau* pniveau, const char touche_clavier)
{
	assert (pniveau != NULL && (touche_clavier == 'g' || touche_clavier == 'd' || touche_clavier == 'h' 
	|| touche_clavier == 'b' || touche_clavier == 't' || touche_clavier == 'u' || touche_clavier == 'm' 
	|| touche_clavier == 'o' || touche_clavier == 'v'));
	
	Heros* hero = niveauGetHerosPtr(pniveau);
	Terrain* terrain = niveauGetTerrainPtr(pniveau);
	Tir* ptir1 = NULL;
	Tir* ptir2 = NULL;
	Tir* ptir3 = NULL;
	Tir* ptir4 = NULL;
	Tir* ptir5 = NULL;
	Tir* ptir6 = NULL;
	Tir* ptir7 = NULL;
	  
	switch(touche_clavier)
	{
		case 'g' :
				if (getPosXHeros(hero) > 0)
				deplacerHerosGauche(hero, terrain);
				break;
		case 'd' :
				if (getPosXHeros(hero) + getTailleXHeros(hero) < getDimX_terrain(terrain))
				deplacerHerosDroite(hero, terrain);
				break;
		case 'h' :
				if (getPosYHeros(hero) -1 > pniveau->posY_debut_fenetre)
				deplacerHerosHaut(hero, terrain);
				break;
		case 'b' :
				if (getPosYHeros(hero) + getTailleYHeros(hero) < pniveau->posY_fin_fenetre)
				deplacerHerosBas(hero, terrain);
				break;
		case 't' :
				ptir1 = tirerHeros (hero);
				ajouterTir (niveauGetTabTir(pniveau), ptir1);
				ptir2 = tirerHeros2 (hero);
				ajouterTir (niveauGetTabTir(pniveau), ptir2);
				break;
		
		case 'u' :
				ptir4 = tirerHerosObliqueGaucheHaut (hero, terrain);
				ajouterTir (niveauGetTabTir(pniveau), ptir4);
				ptir5 = tirerHerosObliqueDroiteHaut (hero, terrain);
				ajouterTir (niveauGetTabTir(pniveau), ptir5);
				break;
				
		case 'v' :
				ptir6 = tirerHerosObliqueGaucheMilieu (hero, terrain);
				ajouterTir (niveauGetTabTir(pniveau), ptir6);
				ptir7 = tirerHerosObliqueDroiteMilieu (hero, terrain);
				ajouterTir (niveauGetTabTir(pniveau), ptir7);
				break;
				
		case 'm' :
				if (getMunitions(hero->parme_secondaire1)>0)
				{
					ondeDeChoc(pniveau);
					break;
				}
		case 'o' :
				if (getMunitions(hero->parme_secondaire2)>0)
				{
					ptir3 = tirerHerosS2 (hero);
					ajouterTir (niveauGetTabTir(pniveau), ptir3);
					break;
				}
	}
}
		


void niveauEvolution (Niveau* pniveau) 
{					
	assert (pniveau != NULL);
	
	Heros* pheros;
	pheros = niveauGetHerosPtr(pniveau);
	
	if (getScoreNiveau(pniveau) == 400)
		  setNiveauArmePrincipale(getArmePrincipale(pheros), 2);
	else if (getScoreNiveau(pniveau) == 1500)
		  setNiveauArmePrincipale(getArmePrincipale(pheros), 3);
	else if (getScoreNiveau(pniveau) == 3000)
		 setNiveauArmePrincipale(getArmePrincipale(pheros), 4);
	else if (getScoreNiveau(pniveau) == 5000)
		 setNiveauArmePrincipale(getArmePrincipale(pheros), 5);
	else if (getScoreNiveau(pniveau) == 7000)
		 setNiveauArmePrincipale(getArmePrincipale(pheros), 6);
	
	//setDefilementNiveau(pniveau, 0.3);
	
	float defil = getDefilementNiveau(pniveau);
	
	int i_ennemi, j_ennemi;

	for (i_ennemi=0; i_ennemi < getNbreEnnemis(pniveau); i_ennemi++)  // deplacement et tir des ennemis
	{	
		Ennemi *pennemi;
		pennemi = niveauGetEnnemiPtr (pniveau, i_ennemi);
		if (getPosYEnnemi(pennemi)+getTailleYEnnemi(pennemi) >= pniveau->posY_debut_fenetre
			&& getPosYEnnemi(pennemi)+getTailleYEnnemi(pennemi) < pniveau->posY_fin_fenetre
			&& getPosXEnnemi(pennemi )>= 0
			&& getPosXEnnemi(pennemi)+getTailleXEnnemi(pennemi) < getDimX_terrain(niveauGetTerrainPtr(pniveau)))
		
		{
			if(getTimerTir(pennemi) == 0)
			{
				Tir* ptir_temp;
				ptir_temp=tirerEnnemi (pennemi, niveauGetTerrainPtr(pniveau), niveauGetHerosPtr(pniveau), defil);
				ajouterTir (niveauGetTabTir(pniveau), ptir_temp);
				setTimerTir(pennemi, getTimerTirBase(pennemi));
			}
			else
			{
				setTimerTir(pennemi, getTimerTir(pennemi)-1);
			}
			deplacerEnnemi (pennemi, niveauGetTerrainPtr(pniveau), defil); // deplacement d'un ennemi
		}	     
	     
		else if (getPosYEnnemi(pennemi)+getTailleYEnnemi(pennemi) >= pniveau->posY_fin_fenetre
			|| getPosXEnnemi(pennemi) < 0
			|| getPosXEnnemi(pennemi)+getTailleXEnnemi(pennemi) >= getDimX_terrain(niveauGetTerrainPtr(pniveau)))
		{      
			supprimerEnnemi(pniveau->ptab_pennemis, pennemi);
		}
	} 
	if (niveauGetConstBossPtr(pniveau) != NULL)
	{
		if (getPosYBoss(niveauGetConstBossPtr(pniveau))+getTailleYBoss(niveauGetConstBossPtr(pniveau)) >= pniveau->posY_debut_fenetre
			&& getPosYBoss(niveauGetConstBossPtr(pniveau))+getTailleYBoss(niveauGetConstBossPtr(pniveau)) < pniveau->posY_fin_fenetre
			&& getPosXBoss(niveauGetConstBossPtr(pniveau))>= 0
			&& getPosXBoss(niveauGetConstBossPtr(pniveau))+getTailleXBoss(niveauGetConstBossPtr(pniveau)) < getDimX_terrain(niveauGetTerrainPtr(pniveau)))
		{
		  
			Tir* ptir_temp;
			ptir_temp=tirerBoss(niveauGetBossPtr(pniveau), niveauGetTerrainPtr(pniveau),
								niveauGetHerosPtr(pniveau));
			ajouterTir (niveauGetTabTir(pniveau), ptir_temp);
			deplacerBoss (niveauGetBossPtr(pniveau), niveauGetTerrainPtr(pniveau)); // deplacement d'un ennemi
		}	          
	
	}
	int i_tir;
	  
	for (i_tir=0;i_tir<getNbreTirs(pniveau);i_tir++)		// boucle deplacement des tirs
	{
		Tir* ptir;
		ptir = niveauGetTirPtr (pniveau, i_tir);

		if (getPosYTir(ptir)+getTailleYTir(ptir) < pniveau->posY_fin_fenetre
		   && getPosYTir(ptir) >= pniveau->posY_debut_fenetre
		   && getPosXTir(ptir) >= 0
		   && getPosXTir(ptir)+getTailleXTir(ptir) < getDimX_terrain(niveauGetTerrainPtr(pniveau)))      
			deplacerTir (ptir);
		else
			supprimerTir(niveauGetTabTir(pniveau),ptir);
	
	  }
	//tests collision
	int colli_heros = 1; //savoir si le heros est touché ou non
	
	//on va utiliser i_tir et i_ennemi pour parcourir le tableau des tirs et ennemis
	i_tir = i_ennemi = 0;
	j_ennemi = 0;
	int i_tir2=0;
	
	while (colli_heros == 1 && (i_tir < getNbreTirs(pniveau)))
	{
		if (getTirAmi (niveauGetTabTir(pniveau)->ptab_tirs[i_tir]) != 1) // le tir vient du héros.
		{
			if (niveauGetConstBossPtr(pniveau) != NULL) 
			{
				if (collisionTirBoss ( niveauGetTabTir(pniveau)->ptab_tirs[i_tir], niveauGetConstBossPtr(pniveau)) == 0)
				// On regarde si le boss est touché.
				{
					if (getTirAmi(niveauGetTirPtr(pniveau, i_tir)) == 2) // gros missile
					{
						enleverVieBoss(niveauGetBossPtr(pniveau), 50);
					}
					else if (getTirAmi(niveauGetTirPtr(pniveau, i_tir)) == 0) // tir normal
					{
						enleverVieBoss(niveauGetBossPtr(pniveau), getNiveauArmePrincipale(getArmePrincipale(pheros)));
					}
					supprimerTir(niveauGetTabTir(pniveau),getTirTabTirs(niveauGetTabTir(pniveau), i_tir));
					if (getPVBoss(niveauGetConstBossPtr(pniveau)) < 1)
					{
						augmenterScoreNiveau(pniveau,1000);
						Bonus* pbonus_temp;
						pbonus_temp = creerBonusBoss(niveauGetBossPtr(pniveau));
						if (pbonus_temp != NULL)
							ajouterBonus (pniveau->ptab_pbonus, pbonus_temp);
						detruireBoss(&(pniveau->pboss));
						char pseudo[50];
						chargerNom(pseudo);
						Profil* pprofil = chargerProfil(pseudo);
						transfererDonneesProfil(pprofil, pseudo, 1, 1, getScoreNiveau(pniveau),
									  getDifficulteNiveau(pniveau));
						sauvegarderProfil(pprofil);
						detruireProfil(&pprofil);
						setNumNiveauActuel(pniveau, getNumNiveauActuel(pniveau)+1);
					}
				}
			}
			for (i_ennemi=0; i_ennemi<getNbreEnnemis(pniveau) ; i_ennemi++) // Collision tir du heros sur ennemi
			{
				Ennemi *pennemi;
				pennemi = niveauGetEnnemiPtr (pniveau, i_ennemi);
				if (collisionTirEnnemi (niveauGetTirPtr(pniveau, i_tir), pennemi) == 0) // il y a collision
				{
				
					if (getTirAmi(niveauGetTirPtr(pniveau, i_tir)) == 2) // gros missile
					{
						for (j_ennemi=0; j_ennemi<getNbreEnnemis(pniveau) ; j_ennemi++)
						{
							Ennemi *pennemi;
							pennemi = niveauGetEnnemiPtr (pniveau, j_ennemi);
							if (collisionTirEnnemiS1(niveauGetTabTir(pniveau)->ptab_tirs[i_tir],
							 pennemi) == 0)
							{
								enleverVieEnnemi(pennemi, 100);
								if (getPvEnnemi(pennemi) < 1)
								{
									if (getTypeEnnemiStd(pennemi) == 0)
										augmenterScoreNiveau(pniveau,100);
									else
										augmenterScoreNiveau(pniveau,200);
									Bonus* pbonus_temp;
									pbonus_temp=creerBonus (pennemi);
									if (pbonus_temp != NULL)
									{
										  ajouterBonus (pniveau->ptab_pbonus, pbonus_temp);
									}
									supprimerEnnemi(pniveau->ptab_pennemis,pennemi);
								}
								supprimerTir(niveauGetTabTir(pniveau),niveauGetTabTir(pniveau)->ptab_tirs[i_tir]);
							}
						}
					}
					else if (getTirAmi(niveauGetTirPtr(pniveau, i_tir)) == 0) // tir normal
					{
						enleverVieEnnemi(pennemi, 1 + 2*getNiveauArmePrincipale(getArmePrincipale(niveauGetHerosPtr(pniveau))));
						if ((getPvEnnemi(pennemi)) < 1)
						{
							augmenterScoreNiveau(pniveau,100);
							Bonus* pbonus_temp;
							pbonus_temp=creerBonus(pennemi);
							if (pbonus_temp != NULL)
							{
							ajouterBonus (pniveau->ptab_pbonus, pbonus_temp);
							}
							supprimerEnnemi(pniveau->ptab_pennemis,pennemi);
						} // on supprime l'ennemi
						supprimerTir(niveauGetTabTir(pniveau),niveauGetTirPtr(pniveau, i_tir));
					}
				}
				
			}
		}
		else	// sinon c'est un tir ennemi
		{
			if (collisionTirHeros (niveauGetTabTir(pniveau)->ptab_tirs[i_tir], pheros) == 0) // il y a collision entre le tir et le heros
			{
				colli_heros = 0; // BOUM le heros
				enleverVie (pheros, 1);
				for (i_tir2=0;i_tir2<getNbreTirs(pniveau);i_tir2 ++)
				{
					colli_heros = 0; // BOUM le heros
					enleverVie (pheros, 1);
					for (i_tir2=0;i_tir2<getNbreTirs(pniveau);i_tir2 ++)
					{
						if (niveauGetTabTir(pniveau)->ptab_tirs[i_tir2]->tir_ami == 1)
						{
							supprimerTir(niveauGetTabTir(pniveau),niveauGetTabTir(pniveau)->ptab_tirs[i_tir2]);
				
						}
					}
				}
			}
		}
	
		if (colli_heros == 1)
		{
			for (i_ennemi=0; i_ennemi<getNbreEnnemis(pniveau) ; i_ennemi++)
			{
				Ennemi *pennemi;
				pennemi = niveauGetEnnemiPtr (pniveau, i_ennemi);
				if (collisionHerosEnnemi (pheros, pennemi) == 0)
				{
					supprimerEnnemi(pniveau->ptab_pennemis,pennemi);
					colli_heros = 0; // BOUM le heros
											//heurter un ennemi coute plus
					enleverVie (pheros, 10);			//de vie que heurter un tir
					libereTabTirs(niveauGetTabTir(pniveau));
				}
			}
		 		  
		}
		i_tir++;	// on test si il y a collision avec le tir suivant.
	}
	
	int i_bonus;
	
	for (i_bonus = 0;i_bonus < getNbreBonus(pniveau);i_bonus++)
	{
		Bonus *pbonus;
		pbonus = niveauGetBonusPtr (pniveau, i_bonus);
		
		if (collisionHerosBonus (pniveau->phero, pbonus)==0)
		{
			bonusHeros(pniveau->phero, pbonus);
			supprimerBonus (pniveau->ptab_pbonus, pbonus);
		}
		if (getPosXBonus(pbonus) < 0 ||
			getPosXBonus(pbonus)>=getDimX_terrain(niveauGetTerrainPtr(pniveau))
			|| getPosYBonus(pbonus)>pniveau->posY_fin_fenetre)
		{
			supprimerBonus(pniveau->ptab_pbonus, pbonus);
		}
	}
	
	
	if (pniveau->posY_debut_fenetre > 0)  
	{
		pniveau->posY_debut_fenetre=pniveau->posY_debut_fenetre-defil; //a chaque tour la fenetre monte.
		pniveau->phero->posY_heros=pniveau->phero->posY_heros-defil;   //le heros doit suivre
		pniveau->posY_fin_fenetre=pniveau->posY_fin_fenetre-defil;
	
	}
	if (getVieHeros(pheros) < 1)
	{	
		char pseudo[50];
		chargerNom(pseudo);
		Profil* pprofil = chargerProfil(pseudo);
		transfererDonneesProfil(pprofil, pseudo, 10, 0, getScoreNiveau(pniveau), getDifficulteNiveau(pniveau));
		sauvegarderProfil(pprofil);
		detruireProfil(&pprofil);
		setNumNiveauActuel(pniveau, getNumNiveauActuel(pniveau) + 10);
	}
  
}

Niveau* creerNiveauBenou2 ()
{
	Terrain* pter;
	pter = creerTerrain(0,100,1000,0,20);
	
	Point* pptb1;
	Point* pptb2;
	pptb1 = creerPoint(25,10);
	pptb2 = creerPoint(90,10);
	Trajectoire* ptrajb;
	ptrajb = creerTrajectoire(pptb1,pptb2,1);
	Boss* pboss;
	pboss = creerBoss(1, 10, 10, ptrajb, 0);
	
	ArmePrincipale* parmeP;
	parmeP=creerArmePrincipale();
	ArmeSecondaire* parmeS1;
	parmeS1=creerArmeSecondaire(0);
	ArmeSecondaire* parmeS2;
	parmeS2=creerArmeSecondaire(1);
	Heros* pben;
	pben=creerHeros (parmeP, parmeS1, parmeS2, 200 , getDimX_terrain(pter)/2 , getDimY_terrain(pter)-10, 1, 1);
	
	Point* pptr011;
	Point* pptr012;
	pptr011 = creerPoint(7,748);
	pptr012 = creerPoint(75,980);
	Trajectoire* ptrajr01;
	ptrajr01 = creerTrajectoire(pptr011,pptr012,0.8);
	Ennemi* pbenou01;
	pbenou01 = creerEnnemi(0, 7, 748, ptrajr01);
	
	Point* pptr021;
	Point* pptr022;
	pptr021 = creerPoint(74,799);
	pptr022 = creerPoint(65,930);
	Trajectoire* ptrajr02;
	ptrajr02 = creerTrajectoire(pptr021,pptr022,0.5);
	Ennemi* pbenou02;
	pbenou02 = creerEnnemi(0,74,799,ptrajr02);
	
	Point* pptr031;
	Point* pptr032;
	pptr031 = creerPoint(39,710);
	pptr032 = creerPoint(96,860);
	Trajectoire* ptrajr03;
	ptrajr03 = creerTrajectoire(pptr031,pptr032,0.5);
	Ennemi* pbenou03;
	pbenou03 = creerEnnemi(0,39,710,ptrajr03);
	
	Point* pptr041;
	Point* pptr042;
	pptr041 = creerPoint(27,651);
	pptr042 = creerPoint(10,785);
	Trajectoire* ptrajr04;
	ptrajr04 = creerTrajectoire(pptr041,pptr042,0.5);
	Ennemi* pbenou04;
	pbenou04 = creerEnnemi(0,27,651,ptrajr04);
	
	Point* pptr051;
	Point* pptr052;
	pptr051 = creerPoint(30,600);
	pptr052 = creerPoint(9,740);
	Trajectoire* ptrajr05;
	ptrajr05 = creerTrajectoire(pptr051,pptr052,0.5);
	Ennemi* pbenou05;
	pbenou05 = creerEnnemi(0,30,600,ptrajr05);
	
	Point* pptr061;
	Point* pptr062;
	pptr061 = creerPoint(12,578);
	pptr062 = creerPoint(37,710);
	Trajectoire* ptrajr06;
	ptrajr06 = creerTrajectoire(pptr061,pptr062,0.5);
	Ennemi* pbenou06;
	pbenou06 = creerEnnemi(0,12,578,ptrajr06);
	
	Point* pptr071;
	Point* pptr072;
	pptr071 = creerPoint(75,510);
	pptr072 = creerPoint(56,630);
	Trajectoire* ptrajr07;
	ptrajr07 = creerTrajectoire(pptr071,pptr072,0.5);
	Ennemi* pbenou07;
	pbenou07 = creerEnnemi(0,75,510,ptrajr07);
	
	Point* pptr081;
	Point* pptr082;
	pptr081 = creerPoint(82,450);
	pptr082 = creerPoint(15,575);
	Trajectoire* ptrajr08;
	ptrajr08 = creerTrajectoire(pptr081,pptr082,0.5);
	Ennemi* pbenou08;
	pbenou08 = creerEnnemi(0,82,450,ptrajr08);
	
	Point* pptr091;
	Point* pptr092;
	pptr091 = creerPoint(55,409);
	pptr092 = creerPoint(51,558);
	Trajectoire* ptrajr09;
	ptrajr09 = creerTrajectoire(pptr091,pptr092,0.5);
	Ennemi* pbenou09;
	pbenou09 = creerEnnemi(0,55,409,ptrajr09);
	
	Point* pptr101;
	Point* pptr102;
	pptr101 = creerPoint(77,340);
	pptr102 = creerPoint(92,460);
	Trajectoire* ptrajr10;
	ptrajr10 = creerTrajectoire(pptr101,pptr102,0.5);
	Ennemi* pbenou10;
	pbenou10 = creerEnnemi(0,77,340,ptrajr10);
	
	Point* pptr111;
	Point* pptr112;
	pptr111 = creerPoint(76,300);
	pptr112 = creerPoint(56,425);
	Trajectoire* ptrajr11;
	ptrajr11 = creerTrajectoire(pptr111,pptr112,0.5);
	Ennemi* pbenou11;
	pbenou11 = creerEnnemi(0,76,300,ptrajr11);
	
	Point* pptr121;
	Point* pptr122;
	pptr121 = creerPoint(39,230);
	pptr122 = creerPoint(63,355);
	Trajectoire* ptrajr12;
	ptrajr12 = creerTrajectoire(pptr121,pptr122,0.5);
	Ennemi* pbenou12;
	pbenou12 = creerEnnemi(0,39,230,ptrajr12);
	
	Point* pptr131;
	Point* pptr132;
	pptr131 = creerPoint(23,200);
	pptr132 = creerPoint(4,350);
	Trajectoire* ptrajr13;
	ptrajr13 = creerTrajectoire(pptr131,pptr132,0.5);
	Ennemi* pbenou13;
	pbenou13 = creerEnnemi(0,23,200,ptrajr13);
	
	Point* pptr141;
	Point* pptr142;
	pptr141 = creerPoint(90,139);
	pptr142 = creerPoint(73,289);
	Trajectoire* ptrajr14;
	ptrajr14 = creerTrajectoire(pptr141,pptr142,0.5);
	Ennemi* pbenou14;
	pbenou14 = creerEnnemi(0,90,139,ptrajr14);
	
	Point* pptp011;
	Point* pptp012;
	pptp011 = creerPoint(95,888);
	pptp012 = creerPoint(92,950);
	Trajectoire* ptrajp01;
	ptrajp01 = creerTrajectoire(pptp011,pptp012,0.8);
	Ennemi* prob01;
	prob01 = creerEnnemi(1,95,888,ptrajp01);
	
	Point* pptp021;
	Point* pptp022;
	pptp021 = creerPoint(26,770);
	pptp022 = creerPoint(10,900);
	Trajectoire* ptrajp02;
	ptrajp02 = creerTrajectoire(pptp021,pptp022,0.8);
	Ennemi* prob02;
	prob02 = creerEnnemi(1,26,770,ptrajp02);
	
	Point* pptp031;
	Point* pptp032;
	pptp031 = creerPoint(87,690);
	pptp032 = creerPoint(2,820);
	Trajectoire* ptrajp03;
	ptrajp03 = creerTrajectoire(pptp031,pptp032,0.8);
	Ennemi* prob03;
	prob03 = creerEnnemi(1,87,690,ptrajp03);
	
	Point* pptp041;
	Point* pptp042;
	pptp041 = creerPoint(84,639);
	pptp042 = creerPoint(98,775);
	Trajectoire* ptrajp04;
	ptrajp04 = creerTrajectoire(pptp041,pptp042,0.8);
	Ennemi* prob04;
	prob04 = creerEnnemi(1,84,639,ptrajp04);
	
	Point* pptp051;
	Point* pptp052;
	pptp051 = creerPoint(76,580);
	pptp052 = creerPoint(71,710);
	Trajectoire* ptrajp05;
	ptrajp05 = creerTrajectoire(pptp051,pptp052,0.8);
	Ennemi* prob05;
	prob05 = creerEnnemi(1,76,580,ptrajp05);
	
	Point* pptp061;
	Point* pptp062;
	pptp061 = creerPoint(19,528);
	pptp062 = creerPoint(50,658);
	Trajectoire* ptrajp06;
	ptrajp06 = creerTrajectoire(pptp061,pptp062,0.8);
	Ennemi* prob06;
	prob06 = creerEnnemi(1,19,528,ptrajp06);
	
	Point* pptp071;
	Point* pptp072;
	pptp071 = creerPoint(18,475);
	pptp072 = creerPoint(89,605);
	Trajectoire* ptrajp07;
	ptrajp07 = creerTrajectoire(pptp071,pptp072,0.8);
	Ennemi* prob07;
	prob07 = creerEnnemi(1,18,475,ptrajp07);
	
	Point* pptp081;
	Point* pptp082;
	pptp081 = creerPoint(35,440);
	pptp082 = creerPoint(9,570);
	Trajectoire* ptrajp08;
	ptrajp08 = creerTrajectoire(pptp081,pptp082,0.8);
	Ennemi* prob08;
	prob08 = creerEnnemi(1,35,440,ptrajp08);
	
	Point* pptp091;
	Point* pptp092;
	pptp091 = creerPoint(26,365);
	pptp092 = creerPoint(53,490);
	Trajectoire* ptrajp09;
	ptrajp09 = creerTrajectoire(pptp091,pptp092,0.8);
	Ennemi* prob09;
	prob09 = creerEnnemi(1,26,365,ptrajp09);
	
	Point* pptp101;
	Point* pptp102;
	pptp101 = creerPoint(23,328);
	pptp102 = creerPoint(10,450);
	Trajectoire* ptrajp10;
	ptrajp10 = creerTrajectoire(pptp101,pptp102,0.8);
	Ennemi* prob10;
	prob10 = creerEnnemi(1,23,328,ptrajp10);
	
	Point* pptp111;
	Point* pptp112;
	pptp111 = creerPoint(19,279);
	pptp112 = creerPoint(48,400);
	Trajectoire* ptrajp11;
	ptrajp11 = creerTrajectoire(pptp111,pptp112,0.8);
	Ennemi* prob11;
	prob11 = creerEnnemi(1,19,279,ptrajp11);
	
	Point* pptp121;
	Point* pptp122;
	pptp121 = creerPoint(75,220);
	pptp122 = creerPoint(94,350);
	Trajectoire* ptrajp12;
	ptrajp12 = creerTrajectoire(pptp121,pptp122,0.8);
	Ennemi* prob12;
	prob12 = creerEnnemi(1,75,220,ptrajp12);
	
	Point* pptp131;
	Point* pptp132;
	pptp131 = creerPoint(63,169);
	pptp132 = creerPoint(99,310);
	Trajectoire* ptrajp13;
	ptrajp13 = creerTrajectoire(pptp131,pptp132,0.8);
	Ennemi* prob13;
	prob13 = creerEnnemi(1,63,169,ptrajp13);
	
	Point* pptp141;
	Point* pptp142;
	pptp141 = creerPoint(10,126);
	pptp142 = creerPoint(65,260);
	Trajectoire* ptrajp14;
	ptrajp14 = creerTrajectoire(pptp141,pptp142,0.8);
	Ennemi* prob14;
	prob14 = creerEnnemi(1,10,126,ptrajp14);

	TabEnnemis* ptabEnnemis;
	ptabEnnemis=creerTabEnnemis ();
	ajouterEnnemi(ptabEnnemis, pbenou01);
	ajouterEnnemi(ptabEnnemis, pbenou02);
	ajouterEnnemi(ptabEnnemis, pbenou03);
	ajouterEnnemi(ptabEnnemis, pbenou04);
	ajouterEnnemi(ptabEnnemis, pbenou05);
	ajouterEnnemi(ptabEnnemis, pbenou06);
	ajouterEnnemi(ptabEnnemis, pbenou07);
	ajouterEnnemi(ptabEnnemis, pbenou08);
	ajouterEnnemi(ptabEnnemis, pbenou09);
	ajouterEnnemi(ptabEnnemis, pbenou10);
	ajouterEnnemi(ptabEnnemis, pbenou11);
	ajouterEnnemi(ptabEnnemis, pbenou12);
	ajouterEnnemi(ptabEnnemis, pbenou13);
	ajouterEnnemi(ptabEnnemis, pbenou14);
	ajouterEnnemi(ptabEnnemis, prob01);
	ajouterEnnemi(ptabEnnemis, prob02);
	ajouterEnnemi(ptabEnnemis, prob03);
	ajouterEnnemi(ptabEnnemis, prob04);
	ajouterEnnemi(ptabEnnemis, prob05);
	ajouterEnnemi(ptabEnnemis, prob06);
	ajouterEnnemi(ptabEnnemis, prob07);
	ajouterEnnemi(ptabEnnemis, prob08);
	ajouterEnnemi(ptabEnnemis, prob09);
	ajouterEnnemi(ptabEnnemis, prob10);
	ajouterEnnemi(ptabEnnemis, prob11);
	ajouterEnnemi(ptabEnnemis, prob12);
	ajouterEnnemi(ptabEnnemis, prob13);
	ajouterEnnemi(ptabEnnemis, prob14);

	TabTirs* ptab_ptir;
	ptab_ptir=creerTabTirs();
	
	TabBonus* ptab_pbonus;
	ptab_pbonus = creerTabBonus();

	Niveau* plevel;
	plevel=creerNiveau(pter, pboss, pben, ptabEnnemis, ptab_ptir, ptab_pbonus);
	plevel->nbre_ennemis=ptabEnnemis->nbre_ennemis;
	plevel->num_niveau_actuel = 1;   //pbenou  sera le premier niveau charge
	plevel->num_niveau_suivant = 2;
	return plevel;
}


Niveau* creerNiveauBenou1 ()
{
	Terrain* pter;
	pter = creerTerrain(0, 100, 1000, 0, 0);
	
	Point* pptb1;
	Point* pptb2;
	pptb1 = creerPoint(20, 10);
	pptb2 = creerPoint(90, 10);
	Trajectoire* ptrajb;
	ptrajb = creerTrajectoire(pptb1, pptb2, 1);
	Boss* pbenou;
	pbenou = creerBoss(0, 20, 10, ptrajb, 0);
	
	ArmePrincipale* parmeP;
	parmeP=creerArmePrincipale();
	ArmeSecondaire* parmeS1;
	parmeS1=creerArmeSecondaire(0);
	ArmeSecondaire* parmeS2;
	parmeS2=creerArmeSecondaire(1);
	Heros* pmayuyu;
	pmayuyu=creerHeros (parmeP, parmeS1, parmeS2, 200 , getDimX_terrain(pter)/2 , getDimY_terrain(pter)-10, 1, 1);
	
	Point* pptr011;
	Point* pptr012;
	pptr011 = creerPoint(7,848);
	pptr012 = creerPoint(75,980);
	Trajectoire* ptrajr01;
	ptrajr01 = creerTrajectoire(pptr011,pptr012,0.5);
	Ennemi* probin01;
	probin01 = creerEnnemi(0, 7, 848, ptrajr01);
	
	Point* pptr021;
	Point* pptr022;
	pptr021 = creerPoint(74,799);
	pptr022 = creerPoint(65,930);
	Trajectoire* ptrajr02;
	ptrajr02 = creerTrajectoire(pptr021,pptr022,0.5);
	Ennemi* probin02;
	probin02 = creerEnnemi(0,74,799,ptrajr02);
	
	Point* pptr031;
	Point* pptr032;
	pptr031 = creerPoint(39,710);
	pptr032 = creerPoint(96,860);
	Trajectoire* ptrajr03;
	ptrajr03 = creerTrajectoire(pptr031,pptr032,0.5);
	Ennemi* probin03;
	probin03 = creerEnnemi(0,39,710,ptrajr03);
	
	Point* pptr041;
	Point* pptr042;
	pptr041 = creerPoint(27,651);
	pptr042 = creerPoint(10,785);
	Trajectoire* ptrajr04;
	ptrajr04 = creerTrajectoire(pptr041,pptr042,0.5);
	Ennemi* probin04;
	probin04 = creerEnnemi(0,27,651,ptrajr04);
	
	Point* pptr051;
	Point* pptr052;
	pptr051 = creerPoint(30,600);
	pptr052 = creerPoint(9,740);
	Trajectoire* ptrajr05;
	ptrajr05 = creerTrajectoire(pptr051,pptr052,0.5);
	Ennemi* probin05;
	probin05 = creerEnnemi(0,30,600,ptrajr05);
	
	Point* pptr061;
	Point* pptr062;
	pptr061 = creerPoint(12,578);
	pptr062 = creerPoint(37,710);
	Trajectoire* ptrajr06;
	ptrajr06 = creerTrajectoire(pptr061,pptr062,0.5);
	Ennemi* probin06;
	probin06 = creerEnnemi(0,12,578,ptrajr06);
	
	Point* pptr071;
	Point* pptr072;
	pptr071 = creerPoint(75,510);
	pptr072 = creerPoint(56,630);
	Trajectoire* ptrajr07;
	ptrajr07 = creerTrajectoire(pptr071,pptr072,0.5);
	Ennemi* probin07;
	probin07 = creerEnnemi(0,75,510,ptrajr07);
	
	Point* pptr081;
	Point* pptr082;
	pptr081 = creerPoint(82,450);
	pptr082 = creerPoint(15,575);
	Trajectoire* ptrajr08;
	ptrajr08 = creerTrajectoire(pptr081,pptr082,0.5);
	Ennemi* probin08;
	probin08 = creerEnnemi(0,82,450,ptrajr08);
	
	Point* pptr091;
	Point* pptr092;
	pptr091 = creerPoint(55,409);
	pptr092 = creerPoint(51,558);
	Trajectoire* ptrajr09;
	ptrajr09 = creerTrajectoire(pptr091,pptr092,0.5);
	Ennemi* probin09;
	probin09 = creerEnnemi(0,55,409,ptrajr09);
	
	Point* pptr101;
	Point* pptr102;
	pptr101 = creerPoint(77,340);
	pptr102 = creerPoint(92,460);
	Trajectoire* ptrajr10;
	ptrajr10 = creerTrajectoire(pptr101,pptr102,0.5);
	Ennemi* probin10;
	probin10 = creerEnnemi(0,77,340,ptrajr10);
	
	Point* pptr111;
	Point* pptr112;
	pptr111 = creerPoint(76,300);
	pptr112 = creerPoint(56,425);
	Trajectoire* ptrajr11;
	ptrajr11 = creerTrajectoire(pptr111,pptr112,0.5);
	Ennemi* probin11;
	probin11 = creerEnnemi(0,76,300,ptrajr11);
	
	Point* pptr121;
	Point* pptr122;
	pptr121 = creerPoint(39,230);
	pptr122 = creerPoint(63,355);
	Trajectoire* ptrajr12;
	ptrajr12 = creerTrajectoire(pptr121,pptr122,0.5);
	Ennemi* probin12;
	probin12 = creerEnnemi(0,39,230,ptrajr12);
	
	Point* pptr131;
	Point* pptr132;
	pptr131 = creerPoint(23,200);
	pptr132 = creerPoint(4,350);
	Trajectoire* ptrajr13;
	ptrajr13 = creerTrajectoire(pptr131,pptr132,0.5);
	Ennemi* probin13;
	probin13 = creerEnnemi(0,23,200,ptrajr13);
	
	Point* pptr141;
	Point* pptr142;
	pptr141 = creerPoint(90,139);
	pptr142 = creerPoint(73,289);
	Trajectoire* ptrajr14;
	ptrajr14 = creerTrajectoire(pptr141,pptr142,0.5);
	Ennemi* probin14;
	probin14 = creerEnnemi(0,90,139,ptrajr14);
	
	Point* pptp011;
	Point* pptp012;
	pptp011 = creerPoint(95,888);
	pptp012 = creerPoint(92,950);
	Trajectoire* ptrajp01;
	ptrajp01 = creerTrajectoire(pptp011,pptp012,0.8);
	Ennemi* ppierre01;
	ppierre01 = creerEnnemi(1,95,888,ptrajp01);
	
	Point* pptp021;
	Point* pptp022;
	pptp021 = creerPoint(26,770);
	pptp022 = creerPoint(10,900);
	Trajectoire* ptrajp02;
	ptrajp02 = creerTrajectoire(pptp021,pptp022,0.8);
	Ennemi* ppierre02;
	ppierre02 = creerEnnemi(1,26,770,ptrajp02);
	
	Point* pptp031;
	Point* pptp032;
	pptp031 = creerPoint(87,690);
	pptp032 = creerPoint(2,820);
	Trajectoire* ptrajp03;
	ptrajp03 = creerTrajectoire(pptp031,pptp032,0.8);
	Ennemi* ppierre03;
	ppierre03 = creerEnnemi(1,87,690,ptrajp03);
	
	Point* pptp041;
	Point* pptp042;
	pptp041 = creerPoint(84,639);
	pptp042 = creerPoint(98,775);
	Trajectoire* ptrajp04;
	ptrajp04 = creerTrajectoire(pptp041,pptp042,0.8);
	Ennemi* ppierre04;
	ppierre04 = creerEnnemi(1,84,639,ptrajp04);
	
	Point* pptp051;
	Point* pptp052;
	pptp051 = creerPoint(76,580);
	pptp052 = creerPoint(71,710);
	Trajectoire* ptrajp05;
	ptrajp05 = creerTrajectoire(pptp051,pptp052,0.8);
	Ennemi* ppierre05;
	ppierre05 = creerEnnemi(1,76,580,ptrajp05);
	
	Point* pptp061;
	Point* pptp062;
	pptp061 = creerPoint(19,528);
	pptp062 = creerPoint(50,658);
	Trajectoire* ptrajp06;
	ptrajp06 = creerTrajectoire(pptp061,pptp062,0.8);
	Ennemi* ppierre06;
	ppierre06 = creerEnnemi(1,19,528,ptrajp06);
	
	Point* pptp071;
	Point* pptp072;
	pptp071 = creerPoint(18,475);
	pptp072 = creerPoint(89,605);
	Trajectoire* ptrajp07;
	ptrajp07 = creerTrajectoire(pptp071,pptp072,0.8);
	Ennemi* ppierre07;
	ppierre07 = creerEnnemi(1,18,475,ptrajp07);
	
	Point* pptp081;
	Point* pptp082;
	pptp081 = creerPoint(35,440);
	pptp082 = creerPoint(9,570);
	Trajectoire* ptrajp08;
	ptrajp08 = creerTrajectoire(pptp081,pptp082,0.8);
	Ennemi* ppierre08;
	ppierre08 = creerEnnemi(1,35,440,ptrajp08);
	
	Point* pptp091;
	Point* pptp092;
	pptp091 = creerPoint(26,365);
	pptp092 = creerPoint(53,490);
	Trajectoire* ptrajp09;
	ptrajp09 = creerTrajectoire(pptp091,pptp092,0.8);
	Ennemi* ppierre09;
	ppierre09 = creerEnnemi(1,26,365,ptrajp09);
	
	Point* pptp101;
	Point* pptp102;
	pptp101 = creerPoint(23,328);
	pptp102 = creerPoint(10,450);
	Trajectoire* ptrajp10;
	ptrajp10 = creerTrajectoire(pptp101,pptp102,0.8);
	Ennemi* ppierre10;
	ppierre10 = creerEnnemi(1,23,328,ptrajp10);
	
	Point* pptp111;
	Point* pptp112;
	pptp111 = creerPoint(19,279);
	pptp112 = creerPoint(48,400);
	Trajectoire* ptrajp11;
	ptrajp11 = creerTrajectoire(pptp111,pptp112,0.8);
	Ennemi* ppierre11;
	ppierre11 = creerEnnemi(1,19,279,ptrajp11);
	
	Point* pptp121;
	Point* pptp122;
	pptp121 = creerPoint(75,220);
	pptp122 = creerPoint(94,350);
	Trajectoire* ptrajp12;
	ptrajp12 = creerTrajectoire(pptp121,pptp122,0.8);
	Ennemi* ppierre12;
	ppierre12 = creerEnnemi(1,75,220,ptrajp12);
	
	Point* pptp131;
	Point* pptp132;
	pptp131 = creerPoint(63,169);
	pptp132 = creerPoint(99,310);
	Trajectoire* ptrajp13;
	ptrajp13 = creerTrajectoire(pptp131,pptp132,0.8);
	Ennemi* ppierre13;
	ppierre13 = creerEnnemi(1,63,169,ptrajp13);
	
	Point* pptp141;
	Point* pptp142;
	pptp141 = creerPoint(10,126);
	pptp142 = creerPoint(65,260);
	Trajectoire* ptrajp14;
	ptrajp14 = creerTrajectoire(pptp141,pptp142,0.8);
	Ennemi* ppierre14;
	ppierre14 = creerEnnemi(1,10,126,ptrajp14);

	TabEnnemis* ptabEnnemis;
	ptabEnnemis=creerTabEnnemis ();
	ajouterEnnemi(ptabEnnemis, probin01);
	ajouterEnnemi(ptabEnnemis, probin02);
	ajouterEnnemi(ptabEnnemis, probin03);
	ajouterEnnemi(ptabEnnemis, probin04);
	ajouterEnnemi(ptabEnnemis, probin05);
	ajouterEnnemi(ptabEnnemis, probin06);
	ajouterEnnemi(ptabEnnemis, probin07);
	ajouterEnnemi(ptabEnnemis, probin08);
	ajouterEnnemi(ptabEnnemis, probin09);
	ajouterEnnemi(ptabEnnemis, probin10);
	ajouterEnnemi(ptabEnnemis, probin11);
	ajouterEnnemi(ptabEnnemis, probin12);
	ajouterEnnemi(ptabEnnemis, probin13);
	ajouterEnnemi(ptabEnnemis, probin14);
	ajouterEnnemi(ptabEnnemis, ppierre01);
	ajouterEnnemi(ptabEnnemis, ppierre02);
	ajouterEnnemi(ptabEnnemis, ppierre03);
	ajouterEnnemi(ptabEnnemis, ppierre04);
	ajouterEnnemi(ptabEnnemis, ppierre05);
	ajouterEnnemi(ptabEnnemis, ppierre06);
	ajouterEnnemi(ptabEnnemis, ppierre07);
	ajouterEnnemi(ptabEnnemis, ppierre08);
	ajouterEnnemi(ptabEnnemis, ppierre09);
	ajouterEnnemi(ptabEnnemis, ppierre10);
	ajouterEnnemi(ptabEnnemis, ppierre11);
	ajouterEnnemi(ptabEnnemis, ppierre12);
	ajouterEnnemi(ptabEnnemis, ppierre13);
	ajouterEnnemi(ptabEnnemis, ppierre14);

	TabTirs* ptab_ptir;
	ptab_ptir=creerTabTirs();
	
	TabBonus* ptab_pbonus;
	ptab_pbonus = creerTabBonus();

	Niveau* plevel;
	plevel=creerNiveau(pter, pbenou, pmayuyu, ptabEnnemis, ptab_ptir, ptab_pbonus);
	plevel->nbre_ennemis=ptabEnnemis->nbre_ennemis;
	plevel->num_niveau_actuel = 0;   //pbenou  sera le premier niveau charge
	plevel->num_niveau_suivant = 1;
	return plevel;
}

Niveau* creerNiveauSurvivor ()
{
	Terrain* pter;
	pter = creerTerrain(0, 100, 1000, 0, 20);
	
	Point* pptb1;
	Point* pptb2;
	pptb1 = creerPoint(15, 10);
	pptb2 = creerPoint(90, 10);
	Trajectoire* ptrajb;
	ptrajb = creerTrajectoire(pptb1, pptb2, 1);
	Boss* pboss;
	pboss = creerBoss(2, 15, 10, ptrajb, 0);
	
	ArmePrincipale* parmeP;
	parmeP=creerArmePrincipale();
	ArmeSecondaire* parmeS1;
	parmeS1=creerArmeSecondaire(0);
	ArmeSecondaire* parmeS2;
	parmeS2=creerArmeSecondaire(1);
	Heros* ppierre;
	ppierre=creerHeros (parmeP, parmeS1, parmeS2, 150, getDimX_terrain(pter)/2 , getDimY_terrain(pter)-10, 1, 1);
	
	Point* pptr011;
	Point* pptr012;
	pptr011 = creerPoint(5,848);
	pptr012 = creerPoint(50,850);
	Trajectoire* ptrajr01;
	ptrajr01 = creerTrajectoire(pptr011,pptr012,0.5);
	Ennemi* prob01;
	prob01 = creerEnnemi(0,5,848,ptrajr01);
	
	Point* pptr021;
	Point* pptr022;
	pptr021 = creerPoint(70,825);
	pptr022 = creerPoint(50,850);
	Trajectoire* ptrajr02;
	ptrajr02 = creerTrajectoire(pptr021,pptr022,0.5);
	Ennemi* prob02;
	prob02 = creerEnnemi(0,70,825,ptrajr02);
	
	Point* pptr031;
	Point* pptr032;
	pptr031 = creerPoint(45,802);
	pptr032 = creerPoint(50,850);
	Trajectoire* ptrajr03;
	ptrajr03 = creerTrajectoire(pptr031,pptr032,0.5);
	Ennemi* prob03;
	prob03 = creerEnnemi(0,45,802,ptrajr03);
	
	Point* pptr041;
	Point* pptr042;
	pptr041 = creerPoint(45,790);
	pptr042 = creerPoint(0,910);
	Trajectoire* ptrajr04;
	ptrajr04 = creerTrajectoire(pptr041,pptr042,0.5);
	Ennemi* prob04;
	prob04 = creerEnnemi(0,45,790,ptrajr04);
	
	Point* pptr051;
	Point* pptr052;
	pptr051 = creerPoint(54,790);
	pptr052 = creerPoint(9,910);
	Trajectoire* ptrajr05;
	ptrajr05 = creerTrajectoire(pptr051,pptr052,0.5);
	Ennemi* prob05;
	prob05 = creerEnnemi(0,54,790,ptrajr05);
	
	Point* pptr061;
	Point* pptr062;
	pptr061 = creerPoint(54,775);
	pptr062 = creerPoint(9,895);
	Trajectoire* ptrajr06;
	ptrajr06 = creerTrajectoire(pptr061,pptr062,0.5);
	Ennemi* prob06;
	prob06 = creerEnnemi(0,54,775,ptrajr06);
	
	Point* pptr071;
	Point* pptr072;
	pptr071 = creerPoint(63,775);
	pptr072 = creerPoint(18,895);
	Trajectoire* ptrajr07;
	ptrajr07 = creerTrajectoire(pptr071,pptr072,0.5);
	Ennemi* prob07;
	prob07 = creerEnnemi(0,63,775,ptrajr07);
	
	Point* pptr081;
	Point* pptr082;
	pptr081 = creerPoint(63,760);
	pptr082 = creerPoint(18,880);
	Trajectoire* ptrajr08;
	ptrajr08 = creerTrajectoire(pptr081,pptr082,0.5);
	Ennemi* prob08;
	prob08 = creerEnnemi(0,63,760,ptrajr08);
	
	Point* pptr091;
	Point* pptr092;
	pptr091 = creerPoint(72,760);
	pptr092 = creerPoint(27,880);
	Trajectoire* ptrajr09;
	ptrajr09 = creerTrajectoire(pptr091,pptr092,0.5);
	Ennemi* prob09;
	prob09 = creerEnnemi(0,72,760,ptrajr09);
	
	Point* pptr101;
	Point* pptr102;
	pptr101 = creerPoint(72,745);
	pptr102 = creerPoint(27,865);
	Trajectoire* ptrajr10;
	ptrajr10 = creerTrajectoire(pptr101,pptr102,0.5);
	Ennemi* prob10;
	prob10 = creerEnnemi(0,72,745,ptrajr10);
	
	Point* pptr111;
	Point* pptr112;
	pptr111 = creerPoint(81,745);
	pptr112 = creerPoint(36,865);
	Trajectoire* ptrajr11;
	ptrajr11 = creerTrajectoire(pptr111,pptr112,0.5);
	Ennemi* prob11;
	prob11 = creerEnnemi(0,81,745,ptrajr11);
	
	Point* pptr121;
	Point* pptr122;
	pptr121 = creerPoint(81,730);
	pptr122 = creerPoint(36,850);
	Trajectoire* ptrajr12;
	ptrajr12 = creerTrajectoire(pptr121,pptr122,0.5);
	Ennemi* prob12;
	prob12 = creerEnnemi(0,81,730,ptrajr12);
	
	Point* pptr131;
	Point* pptr132;
	pptr131 = creerPoint(90,730);
	pptr132 = creerPoint(45,850);
	Trajectoire* ptrajr13;
	ptrajr13 = creerTrajectoire(pptr131,pptr132,0.5);
	Ennemi* prob13;
	prob13 = creerEnnemi(0,90,730,ptrajr13);
	
	Point* pptr141;
	Point* pptr142;
	pptr141 = creerPoint(63,710);
	pptr142 = creerPoint(91,830);
	Trajectoire* ptrajr14;
	ptrajr14 = creerTrajectoire(pptr141,pptr142,0.5);
	Ennemi* prob14;
	prob14 = creerEnnemi(0,63,710,ptrajr14);
	
	Point* pptr151;
	Point* pptr152;
	pptr151 = creerPoint(72,710);
	pptr152 = creerPoint(100,830);
	Trajectoire* ptrajr15;
	ptrajr15 = creerTrajectoire(pptr151,pptr152,0.5);
	Ennemi* prob15;
	prob15 = creerEnnemi(0,72,710,ptrajr15);
	
	Point* pptr161;
	Point* pptr162;
	pptr161 = creerPoint(54,695);
	pptr162 = creerPoint(82,815);
	Trajectoire* ptrajr16;
	ptrajr16 = creerTrajectoire(pptr161,pptr162,0.5);
	Ennemi* prob16;
	prob16 = creerEnnemi(0,54,695,ptrajr16);
	
	Point* pptr171;
	Point* pptr172;
	pptr171 = creerPoint(63,695);
	pptr172 = creerPoint(91,815);
	Trajectoire* ptrajr17;
	ptrajr17 = creerTrajectoire(pptr171,pptr172,0.5);
	Ennemi* prob17;
	prob17 = creerEnnemi(0,63,695,ptrajr17);
	
	Point* pptr181;
	Point* pptr182;
	pptr181 = creerPoint(45,680);
	pptr182 = creerPoint(73,800);
	Trajectoire* ptrajr18;
	ptrajr18 = creerTrajectoire(pptr181,pptr182,0.5);
	Ennemi* prob18;
	prob18 = creerEnnemi(0,45,680,ptrajr18);
	
	Point* pptr191;
	Point* pptr192;
	pptr191 = creerPoint(54,680);
	pptr192 = creerPoint(82,800);
	Trajectoire* ptrajr19;
	ptrajr19 = creerTrajectoire(pptr191,pptr192,0.5);
	Ennemi* prob19;
	prob19 = creerEnnemi(0,54,680,ptrajr19);
	
	Point* pptr201;
	Point* pptr202;
	pptr201 = creerPoint(36,665);
	pptr202 = creerPoint(64,785);
	Trajectoire* ptrajr20;
	ptrajr20 = creerTrajectoire(pptr201,pptr202,0.5);
	Ennemi* prob20;
	prob20 = creerEnnemi(0,36,665,ptrajr20);
	
	Point* pptr211;
	Point* pptr212;
	pptr211 = creerPoint(45,665);
	pptr212 = creerPoint(73,785);
	Trajectoire* ptrajr21;
	ptrajr21 = creerTrajectoire(pptr211,pptr212,0.5);
	Ennemi* prob21;
	prob21 = creerEnnemi(0,45,665,ptrajr21);
	
	Point* pptr221;
	Point* pptr222;
	pptr221 = creerPoint(27,650);
	pptr222 = creerPoint(55,770);
	Trajectoire* ptrajr22;
	ptrajr22 = creerTrajectoire(pptr221,pptr222,0.5);
	Ennemi* prob22;
	prob22 = creerEnnemi(0,27,650,ptrajr22);
	
	Point* pptr231;
	Point* pptr232;
	pptr231 = creerPoint(36,650);
	pptr232 = creerPoint(64,770);
	Trajectoire* ptrajr23;
	ptrajr23 = creerTrajectoire(pptr231,pptr232,0.5);
	Ennemi* prob23;
	prob23 = creerEnnemi(0,36,650,ptrajr23);
	
	Point* pptr241;
	Point* pptr242;
	pptr241 = creerPoint(18,635);
	pptr242 = creerPoint(46,755);
	Trajectoire* ptrajr24;
	ptrajr24 = creerTrajectoire(pptr241,pptr242,0.5);
	Ennemi* prob24;
	prob24 = creerEnnemi(0,18,635,ptrajr24);
	
	Point* pptr251;
	Point* pptr252;
	pptr251 = creerPoint(27,635);
	pptr252 = creerPoint(55,755);
	Trajectoire* ptrajr25;
	ptrajr25 = creerTrajectoire(pptr251,pptr252,0.5);
	Ennemi* prob25;
	prob25 = creerEnnemi(0,27,635,ptrajr25);
	
	Point* pptr261;
	Point* pptr262;
	pptr261 = creerPoint(45,615);
	pptr262 = creerPoint(95,725);
	Trajectoire* ptrajr26;
	ptrajr26 = creerTrajectoire(pptr261,pptr262,0.5);
	Ennemi* prob26;
	prob26 = creerEnnemi(0,45,615,ptrajr26);
	
	Point* pptr271;
	Point* pptr272;
	pptr271 = creerPoint(54,615);
	pptr272 = creerPoint(4,725);
	Trajectoire* ptrajr27;
	ptrajr27 = creerTrajectoire(pptr271,pptr272,0.5);
	Ennemi* prob27;
	prob27 = creerEnnemi(0,54,615,ptrajr27);
	
	Point* pptr281;
	Point* pptr282;
	pptr281 = creerPoint(45,605);
	pptr282 = creerPoint(95,715);
	Trajectoire* ptrajr28;
	ptrajr28 = creerTrajectoire(pptr281,pptr282,0.5);
	Ennemi* prob28;
	prob28 = creerEnnemi(0,45,605,ptrajr28);
	
	Point* pptr291;
	Point* pptr292;
	pptr291 = creerPoint(54,605);
	pptr292 = creerPoint(4,715);
	Trajectoire* ptrajr29;
	ptrajr29 = creerTrajectoire(pptr291,pptr292,0.5);
	Ennemi* prob29;
	prob29 = creerEnnemi(0,54,605,ptrajr29);
	
	Point* pptr301;
	Point* pptr302;
	pptr301 = creerPoint(45,595);
	pptr302 = creerPoint(95,705);
	Trajectoire* ptrajr30;
	ptrajr30 = creerTrajectoire(pptr301,pptr302,0.5);
	Ennemi* prob30;
	prob30 = creerEnnemi(0,45,595,ptrajr30);
	
	Point* pptr311;
	Point* pptr312;
	pptr311 = creerPoint(54,595);
	pptr312 = creerPoint(4,705);
	Trajectoire* ptrajr31;
	ptrajr31 = creerTrajectoire(pptr311,pptr312,0.5);
	Ennemi* prob31;
	prob31 = creerEnnemi(0,54,595,ptrajr31);
	
	Point* pptr321;
	Point* pptr322;
	pptr321 = creerPoint(45,585);
	pptr322 = creerPoint(95,695);
	Trajectoire* ptrajr32;
	ptrajr32 = creerTrajectoire(pptr321,pptr322,0.5);
	Ennemi* prob32;
	prob32 = creerEnnemi(0,45,585,ptrajr32);
	
	Point* pptr331;
	Point* pptr332;
	pptr331 = creerPoint(54,585);
	pptr332 = creerPoint(4,695);
	Trajectoire* ptrajr33;
	ptrajr33 = creerTrajectoire(pptr331,pptr332,0.5);
	Ennemi* prob33;
	prob33 = creerEnnemi(0,54,585,ptrajr33);
	
	Point* pptr341;
	Point* pptr342;
	pptr341 = creerPoint(45,575);
	pptr342 = creerPoint(95,685);
	Trajectoire* ptrajr34;
	ptrajr34 = creerTrajectoire(pptr341,pptr342,0.5);
	Ennemi* prob34;
	prob34 = creerEnnemi(0,45,575,ptrajr34);
	
	Point* pptr351;
	Point* pptr352;
	pptr351 = creerPoint(54,575);
	pptr352 = creerPoint(4,685);
	Trajectoire* ptrajr35;
	ptrajr35 = creerTrajectoire(pptr351,pptr352,0.5);
	Ennemi* prob35;
	prob35 = creerEnnemi(0,54,575,ptrajr35);
	
	Point* pptr361;
	Point* pptr362;
	pptr361 = creerPoint(21,310);
	pptr362 = creerPoint(96,430);
	Trajectoire* ptrajr36;
	ptrajr36 = creerTrajectoire(pptr361,pptr362,0.5);
	Ennemi* prob36;
	prob36 = creerEnnemi(0,21,310,ptrajr36);
	
	Point* pptr371;
	Point* pptr372;
	pptr371 = creerPoint(80,275);
	pptr372 = creerPoint(40,400);
	Trajectoire* ptrajr37;
	ptrajr37 = creerTrajectoire(pptr371,pptr372,0.5);
	Ennemi* prob37;
	prob37 = creerEnnemi(0,80,275,ptrajr37);
	
	Point* pptr381;
	Point* pptr382;
	pptr381 = creerPoint(19,267);
	pptr382 = creerPoint(96,390);
	Trajectoire* ptrajr38;
	ptrajr38 = creerTrajectoire(pptr381,pptr382,0.5);
	Ennemi* prob38;
	prob38 = creerEnnemi(0,19,267,ptrajr38);
	
	Point* pptr391;
	Point* pptr392;
	pptr391 = creerPoint(71,251);
	pptr392 = creerPoint(65,373);
	Trajectoire* ptrajr39;
	ptrajr39 = creerTrajectoire(pptr391,pptr392,0.5);
	Ennemi* prob39;
	prob39 = creerEnnemi(0,71,251,ptrajr39);
	
	Point* pptr401;
	Point* pptr402;
	pptr401 = creerPoint(35,225);
	pptr402 = creerPoint(50,355);
	Trajectoire* ptrajr40;
	ptrajr40 = creerTrajectoire(pptr401,pptr402,0.5);
	Ennemi* prob40;
	prob40 = creerEnnemi(0,35,225,ptrajr40);
	
	Point* pptr411;
	Point* pptr412;
	pptr411 = creerPoint(76,194);
	pptr412 = creerPoint(2,330);
	Trajectoire* ptrajr41;
	ptrajr41 = creerTrajectoire(pptr411,pptr412,0.5);
	Ennemi* prob41;
	prob41 = creerEnnemi(0,76,194,ptrajr41);
	
	Point* pptr421;
	Point* pptr422;
	pptr421 = creerPoint(23,180);
	pptr422 = creerPoint(52,310);
	Trajectoire* ptrajr42;
	ptrajr42 = creerTrajectoire(pptr421,pptr422,0.5);
	Ennemi* prob42;
	prob42 = creerEnnemi(0,23,180,ptrajr42);
	
	Point* pptr431;
	Point* pptr432;
	pptr431 = creerPoint(69,165);
	pptr432 = creerPoint(41,295);
	Trajectoire* ptrajr43;
	ptrajr43 = creerTrajectoire(pptr431,pptr432,0.5);
	Ennemi* prob43;
	prob43 = creerEnnemi(0,69,165,ptrajr43);
	
	Point* pptp011;
	Point* pptp012;
	pptp011 = creerPoint(94,848);
	pptp012 = creerPoint(50,850);
	Trajectoire* ptrajp01;
	ptrajp01 = creerTrajectoire(pptp011,pptp012,0.8);
	Ennemi* pbenou01;
	pbenou01 = creerEnnemi(1,94,848,ptrajp01);
	
	Point* pptp021;
	Point* pptp022;
	pptp021 = creerPoint(29,825);
	pptp022 = creerPoint(50,850);
	Trajectoire* ptrajp02;
	ptrajp02 = creerTrajectoire(pptp021,pptp022,0.8);
	Ennemi* pbenou02;
	pbenou02 = creerEnnemi(1,29,825,ptrajp02);
	
	Point* pptp031;
	Point* pptp032;
	pptp031 = creerPoint(54,802);
	pptp032 = creerPoint(50,850);
	Trajectoire* ptrajp03;
	ptrajp03 = creerTrajectoire(pptp031,pptp032,0.8);
	Ennemi* pbenou03;
	pbenou03 = creerEnnemi(1,54,802,ptrajp03);
	
	Point* pptp041;
	Point* pptp042;
	pptp041 = creerPoint(45,555);
	pptp042 = creerPoint(0,675);
	Trajectoire* ptrajp04;
	ptrajp04 = creerTrajectoire(pptp041,pptp042,0.8);
	Ennemi* pbenou04;
	pbenou04 = creerEnnemi(1,45,555,ptrajp04);
	
	Point* pptp051;
	Point* pptp052;
	pptp051 = creerPoint(54,555);
	pptp052 = creerPoint(9,675);
	Trajectoire* ptrajp05;
	ptrajp05 = creerTrajectoire(pptp051,pptp052,0.8);
	Ennemi* pbenou05;
	pbenou05 = creerEnnemi(1,54,555,ptrajp05);
	
	Point* pptp061;
	Point* pptp062;
	pptp061 = creerPoint(54,540);
	pptp062 = creerPoint(9,660);
	Trajectoire* ptrajp06;
	ptrajp06 = creerTrajectoire(pptp061,pptp062,0.8);
	Ennemi* pbenou06;
	pbenou06 = creerEnnemi(1,54,540,ptrajp06);
	
	Point* pptp071;
	Point* pptp072;
	pptp071 = creerPoint(63,540);
	pptp072 = creerPoint(18,660);
	Trajectoire* ptrajp07;
	ptrajp07 = creerTrajectoire(pptp071,pptp072,0.8);
	Ennemi* pbenou07;
	pbenou07 = creerEnnemi(1,63,540,ptrajp07);
	
	Point* pptp081;
	Point* pptp082;
	pptp081 = creerPoint(63,525);
	pptp082 = creerPoint(18,645);
	Trajectoire* ptrajp08;
	ptrajp08 = creerTrajectoire(pptp081,pptp082,0.8);
	Ennemi* pbenou08;
	pbenou08 = creerEnnemi(1,63,525,ptrajp08);
	
	Point* pptp091;
	Point* pptp092;
	pptp091 = creerPoint(72,525);
	pptp092 = creerPoint(27,645);
	Trajectoire* ptrajp09;
	ptrajp09 = creerTrajectoire(pptp091,pptp092,0.8);
	Ennemi* pbenou09;
	pbenou09 = creerEnnemi(1,72,525,ptrajp09);
	
	Point* pptp101;
	Point* pptp102;
	pptp101 = creerPoint(72,510);
	pptp102 = creerPoint(27,630);
	Trajectoire* ptrajp10;
	ptrajp10 = creerTrajectoire(pptp101,pptp102,0.8);
	Ennemi* pbenou10;
	pbenou10 = creerEnnemi(1,72,510,ptrajp10);
	
	Point* pptp111;
	Point* pptp112;
	pptp111 = creerPoint(81,510);
	pptp112 = creerPoint(36,630);
	Trajectoire* ptrajp11;
	ptrajp11 = creerTrajectoire(pptp111,pptp112,0.8);
	Ennemi* pbenou11;
	pbenou11 = creerEnnemi(1,81,510,ptrajp11);
	
	Point* pptp121;
	Point* pptp122;
	pptp121 = creerPoint(81,495);
	pptp122 = creerPoint(36,615);
	Trajectoire* ptrajp12;
	ptrajp12 = creerTrajectoire(pptp121,pptp122,0.8);
	Ennemi* pbenou12;
	pbenou12 = creerEnnemi(1,81,495,ptrajp12);
	
	Point* pptp131;
	Point* pptp132;
	pptp131 = creerPoint(90,495);
	pptp132 = creerPoint(45,615);
	Trajectoire* ptrajp13;
	ptrajp13 = creerTrajectoire(pptp131,pptp132,0.8);
	Ennemi* pbenou13;
	pbenou13 = creerEnnemi(1,90,495,ptrajp13);
	
	Point* pptp141;
	Point* pptp142;
	pptp141 = creerPoint(63,475);
	pptp142 = creerPoint(91,595);
	Trajectoire* ptrajp14;
	ptrajp14 = creerTrajectoire(pptp141,pptp142,0.8);
	Ennemi* pbenou14;
	pbenou14 = creerEnnemi(1,63,475,ptrajp14);
	
	Point* pptp151;
	Point* pptp152;
	pptp151 = creerPoint(72,475);
	pptp152 = creerPoint(100,595);
	Trajectoire* ptrajp15;
	ptrajp15 = creerTrajectoire(pptp151,pptp152,0.8);
	Ennemi* pbenou15;
	pbenou15 = creerEnnemi(1,72,475,ptrajp15);
	
	Point* pptp161;
	Point* pptp162;
	pptp161 = creerPoint(54,460);
	pptp162 = creerPoint(82,580);
	Trajectoire* ptrajp16;
	ptrajp16 = creerTrajectoire(pptp161,pptp162,0.8);
	Ennemi* pbenou16;
	pbenou16 = creerEnnemi(1,54,460,ptrajp16);
	
	Point* pptp171;
	Point* pptp172;
	pptp171 = creerPoint(63,460);
	pptp172 = creerPoint(71,580);
	Trajectoire* ptrajp17;
	ptrajp17 = creerTrajectoire(pptp171,pptp172,0.8);
	Ennemi* pbenou17;
	pbenou17 = creerEnnemi(1,63,460,ptrajp17);
	
	Point* pptp181;
	Point* pptp182;
	pptp181 = creerPoint(45,445);
	pptp182 = creerPoint(73,565);
	Trajectoire* ptrajp18;
	ptrajp18 = creerTrajectoire(pptp181,pptp182,0.8);
	Ennemi* pbenou18;
	pbenou18 = creerEnnemi(1,45,445,ptrajp18);
	
	Point* pptp191;
	Point* pptp192;
	pptp191 = creerPoint(54,445);
	pptp192 = creerPoint(82,565);
	Trajectoire* ptrajp19;
	ptrajp19 = creerTrajectoire(pptp191,pptp192,0.8);
	Ennemi* pbenou19;
	pbenou19 = creerEnnemi(1,54,445,ptrajp19);
	
	Point* pptp201;
	Point* pptp202;
	pptp201 = creerPoint(36,430);
	pptp202 = creerPoint(64,550);
	Trajectoire* ptrajp20;
	ptrajp20 = creerTrajectoire(pptp201,pptp202,0.8);
	Ennemi* pbenou20;
	pbenou20 = creerEnnemi(1,36,430,ptrajp20);
	
	Point* pptp211;
	Point* pptp212;
	pptp211 = creerPoint(45,430);
	pptp212 = creerPoint(33,550);
	Trajectoire* ptrajp21;
	ptrajp21 = creerTrajectoire(pptp211,pptp212,0.8);
	Ennemi* pbenou21;
	pbenou21 = creerEnnemi(1,45,430,ptrajp21);
	
	Point* pptp221;
	Point* pptp222;
	pptp221 = creerPoint(27,415);
	pptp222 = creerPoint(55,535);
	Trajectoire* ptrajp22;
	ptrajp22 = creerTrajectoire(pptp221,pptp222,0.8);
	Ennemi* pbenou22;
	pbenou22 = creerEnnemi(1,27,415,ptrajp22);
	
	Point* pptp231;
	Point* pptp232;
	pptp231 = creerPoint(36,415);
	pptp232 = creerPoint(64,535);
	Trajectoire* ptrajp23;
	ptrajp23 = creerTrajectoire(pptp231,pptp232,0.8);
	Ennemi* pbenou23;
	pbenou23 = creerEnnemi(1,36,415,ptrajp23);
	
	Point* pptp241;
	Point* pptp242;
	pptp241 = creerPoint(18,400);
	pptp242 = creerPoint(46,520);
	Trajectoire* ptrajp24;
	ptrajp24 = creerTrajectoire(pptp241,pptp242,0.8);
	Ennemi* pbenou24;
	pbenou24 = creerEnnemi(1,18,400,ptrajp24);
	
	Point* pptp251;
	Point* pptp252;
	pptp251 = creerPoint(18,400);
	pptp252 = creerPoint(46,520);
	Trajectoire* ptrajp25;
	ptrajp25 = creerTrajectoire(pptp251,pptp252,0.8);
	Ennemi* pbenou25;
	pbenou25 = creerEnnemi(1,18,400,ptrajp25);
	
	Point* pptp261;
	Point* pptp262;
	pptp261 = creerPoint(27,400);
	pptp262 = creerPoint(55,520);
	Trajectoire* ptrajp26;
	ptrajp26 = creerTrajectoire(pptp261,pptp262,0.8);
	Ennemi* pbenou26;
	pbenou26 = creerEnnemi(1,27,400,ptrajp26);
	
	Point* pptp271;
	Point* pptp272;
	pptp271 = creerPoint(5,380);
	pptp272 = creerPoint(95,490);
	Trajectoire* ptrajp27;
	ptrajp27 = creerTrajectoire(pptp271,pptp272,0.8);
	Ennemi* pbenou27;
	pbenou27 = creerEnnemi(1,5,380,ptrajp27);
	
	Point* pptp281;
	Point* pptp282;
	pptp281 = creerPoint(94,380);
	pptp282 = creerPoint(4,490);
	Trajectoire* ptrajp28;
	ptrajp28 = creerTrajectoire(pptp281,pptp282,0.8);
	Ennemi* pbenou28;
	pbenou28 = creerEnnemi(1,94,380,ptrajp28);
	
	Point* pptp291;
	Point* pptp292;
	pptp291 = creerPoint(5,370);
	pptp292 = creerPoint(95,480);
	Trajectoire* ptrajp29;
	ptrajp29 = creerTrajectoire(pptp291,pptp292,0.8);
	Ennemi* pbenou29;
	pbenou29 = creerEnnemi(1,5,370,ptrajp29);
	
	Point* pptp301;
	Point* pptp302;
	pptp301 = creerPoint(94,370);
	pptp302 = creerPoint(4,480);
	Trajectoire* ptrajp30;
	ptrajp30 = creerTrajectoire(pptp301,pptp302,0.8);
	Ennemi* pbenou30;
	pbenou30 = creerEnnemi(1,94,370,ptrajp30);
	
	Point* pptp311;
	Point* pptp312;
	pptp311 = creerPoint(5,360);
	pptp312 = creerPoint(95,470);
	Trajectoire* ptrajp31;
	ptrajp31 = creerTrajectoire(pptp311,pptp312,0.8);
	Ennemi* pbenou31;
	pbenou31 = creerEnnemi(1,5,360,ptrajp31);
	
	Point* pptp321;
	Point* pptp322;
	pptp321 = creerPoint(94,360);
	pptp322 = creerPoint(4,470);
	Trajectoire* ptrajp32;
	ptrajp32 = creerTrajectoire(pptp321,pptp322,0.8);
	Ennemi* pbenou32;
	pbenou32 = creerEnnemi(1,94,360,ptrajp32);
	
	Point* pptp331;
	Point* pptp332;
	pptp331 = creerPoint(5,350);
	pptp332 = creerPoint(95,460);
	Trajectoire* ptrajp33;
	ptrajp33 = creerTrajectoire(pptp331,pptp332,0.8);
	Ennemi* pbenou33;
	pbenou33 = creerEnnemi(1,5,350,ptrajp33);
	
	Point* pptp341;
	Point* pptp342;
	pptp341 = creerPoint(94,350);
	pptp342 = creerPoint(4,460);
	Trajectoire* ptrajp34;
	ptrajp34 = creerTrajectoire(pptp341,pptp342,0.8);
	Ennemi* pbenou34;
	pbenou34 = creerEnnemi(1,94,350,ptrajp34);
	
	Point* pptp351;
	Point* pptp352;
	pptp351 = creerPoint(5,340);
	pptp352 = creerPoint(95,450);
	Trajectoire* ptrajp35;
	ptrajp35 = creerTrajectoire(pptp351,pptp352,0.8);
	Ennemi* pbenou35;
	pbenou35 = creerEnnemi(1,5,340,ptrajp35);
	
	Point* pptp361;
	Point* pptp362;
	pptp361 = creerPoint(94,340);
	pptp362 = creerPoint(4,450);
	Trajectoire* ptrajp36;
	ptrajp36 = creerTrajectoire(pptp361,pptp362,0.8);
	Ennemi* pbenou36;
	pbenou36 = creerEnnemi(1,94,340,ptrajp36);
	
	Point* pptp371;
	Point* pptp372;
	pptp371 = creerPoint(52,286);
	pptp372 = creerPoint(52,386);
	Trajectoire* ptrajp37;
	ptrajp37 = creerTrajectoire(pptp371,pptp372,0.8);
	Ennemi* pbenou37;
	pbenou37 = creerEnnemi(1,52,286,ptrajp37);
	
	Point* pptp381;
	Point* pptp382;
	pptp381 = creerPoint(49,268);
	pptp382 = creerPoint(49,368);
	Trajectoire* ptrajp38;
	ptrajp38 = creerTrajectoire(pptp381,pptp382,0.8);
	Ennemi* pbenou38;
	pbenou38 = creerEnnemi(1,49,268,ptrajp38);
	
	Point* pptp391;
	Point* pptp392;
	pptp391 = creerPoint(81,257);
	pptp392 = creerPoint(81,357);
	Trajectoire* ptrajp39;
	ptrajp39 = creerTrajectoire(pptp391,pptp392,0.8);
	Ennemi* pbenou39;
	pbenou39 = creerEnnemi(1,81,257,ptrajp39);
	
	Point* pptp401;
	Point* pptp402;
	pptp401 = creerPoint(18,232);
	pptp402 = creerPoint(18,332);
	Trajectoire* ptrajp40;
	ptrajp40 = creerTrajectoire(pptp401,pptp402,0.8);
	Ennemi* pbenou40;
	pbenou40 = creerEnnemi(1,18,232,ptrajp40);
	
	Point* pptp411;
	Point* pptp412;
	pptp411 = creerPoint(75,221);
	pptp412 = creerPoint(75,321);
	Trajectoire* ptrajp41;
	ptrajp41 = creerTrajectoire(pptp411,pptp412,0.8);
	Ennemi* pbenou41;
	pbenou41 = creerEnnemi(1,75,221,ptrajp41);
	
	Point* pptp421;
	Point* pptp422;
	pptp421 = creerPoint(18,208);
	pptp422 = creerPoint(18,308);
	Trajectoire* ptrajp42;
	ptrajp42 = creerTrajectoire(pptp421,pptp422,0.8);
	Ennemi* pbenou42;
	pbenou42 = creerEnnemi(1,18,208,ptrajp42);
	
	Point* pptp431;
	Point* pptp432;
	pptp431 = creerPoint(48,202);
	pptp432 = creerPoint(48,302);
	Trajectoire* ptrajp43;
	ptrajp43 = creerTrajectoire(pptp431,pptp432,0.8);
	Ennemi* pbenou43;
	pbenou43 = creerEnnemi(1,48,202,ptrajp43);
	
	Point* pptp441;
	Point* pptp442;
	pptp441 = creerPoint(54,177);
	pptp442 = creerPoint(54,277);
	Trajectoire* ptrajp44;
	ptrajp44 = creerTrajectoire(pptp441,pptp442,0.8);
	Ennemi* pbenou44;
	pbenou44 = creerEnnemi(1,54,177,ptrajp44);

	TabEnnemis* ptabEnnemis;
	ptabEnnemis=creerTabEnnemis ();
	ajouterEnnemi(ptabEnnemis, prob01);
	ajouterEnnemi(ptabEnnemis, prob02);
	ajouterEnnemi(ptabEnnemis, prob03);
	ajouterEnnemi(ptabEnnemis, prob04);
	ajouterEnnemi(ptabEnnemis, prob05);
	ajouterEnnemi(ptabEnnemis, prob06);
	ajouterEnnemi(ptabEnnemis, prob07);
	ajouterEnnemi(ptabEnnemis, prob08);
	ajouterEnnemi(ptabEnnemis, prob09);
	ajouterEnnemi(ptabEnnemis, prob10);
	ajouterEnnemi(ptabEnnemis, prob11);
	ajouterEnnemi(ptabEnnemis, prob12);
	ajouterEnnemi(ptabEnnemis, prob13);
	ajouterEnnemi(ptabEnnemis, prob14);
	ajouterEnnemi(ptabEnnemis, prob15);
	ajouterEnnemi(ptabEnnemis, prob16);
	ajouterEnnemi(ptabEnnemis, prob17);
	ajouterEnnemi(ptabEnnemis, prob18);
	ajouterEnnemi(ptabEnnemis, prob19);
	ajouterEnnemi(ptabEnnemis, prob20);
	ajouterEnnemi(ptabEnnemis, prob21);
	ajouterEnnemi(ptabEnnemis, prob22);
	ajouterEnnemi(ptabEnnemis, prob23);
	ajouterEnnemi(ptabEnnemis, prob24);
	ajouterEnnemi(ptabEnnemis, prob25);
	ajouterEnnemi(ptabEnnemis, prob26);
	ajouterEnnemi(ptabEnnemis, prob27);
	ajouterEnnemi(ptabEnnemis, prob28);
	ajouterEnnemi(ptabEnnemis, prob29);
	ajouterEnnemi(ptabEnnemis, prob30);
	ajouterEnnemi(ptabEnnemis, prob31);
	ajouterEnnemi(ptabEnnemis, prob32);
	ajouterEnnemi(ptabEnnemis, prob33);
	ajouterEnnemi(ptabEnnemis, prob34);
	ajouterEnnemi(ptabEnnemis, prob35);
	ajouterEnnemi(ptabEnnemis, prob36);
	ajouterEnnemi(ptabEnnemis, prob37);
	ajouterEnnemi(ptabEnnemis, prob38);
	ajouterEnnemi(ptabEnnemis, prob39);
	ajouterEnnemi(ptabEnnemis, prob40);
	ajouterEnnemi(ptabEnnemis, prob41);
	ajouterEnnemi(ptabEnnemis, prob42);
	ajouterEnnemi(ptabEnnemis, prob43);
	ajouterEnnemi(ptabEnnemis, pbenou01);
	ajouterEnnemi(ptabEnnemis, pbenou02);
	ajouterEnnemi(ptabEnnemis, pbenou03);
	ajouterEnnemi(ptabEnnemis, pbenou04);
	ajouterEnnemi(ptabEnnemis, pbenou05);
	ajouterEnnemi(ptabEnnemis, pbenou06);
	ajouterEnnemi(ptabEnnemis, pbenou07);
	ajouterEnnemi(ptabEnnemis, pbenou08);
	ajouterEnnemi(ptabEnnemis, pbenou09);
	ajouterEnnemi(ptabEnnemis, pbenou10);
	ajouterEnnemi(ptabEnnemis, pbenou11);
	ajouterEnnemi(ptabEnnemis, pbenou12);
	ajouterEnnemi(ptabEnnemis, pbenou13);
	ajouterEnnemi(ptabEnnemis, pbenou14);
	ajouterEnnemi(ptabEnnemis, pbenou15);
	ajouterEnnemi(ptabEnnemis, pbenou16);
	ajouterEnnemi(ptabEnnemis, pbenou17);
	ajouterEnnemi(ptabEnnemis, pbenou18);
	ajouterEnnemi(ptabEnnemis, pbenou19);
	ajouterEnnemi(ptabEnnemis, pbenou20);
	ajouterEnnemi(ptabEnnemis, pbenou21);
	ajouterEnnemi(ptabEnnemis, pbenou22);
	ajouterEnnemi(ptabEnnemis, pbenou23);
	ajouterEnnemi(ptabEnnemis, pbenou24);
	ajouterEnnemi(ptabEnnemis, pbenou25);
	ajouterEnnemi(ptabEnnemis, pbenou26);
	ajouterEnnemi(ptabEnnemis, pbenou27);
	ajouterEnnemi(ptabEnnemis, pbenou28);
	ajouterEnnemi(ptabEnnemis, pbenou29);
	ajouterEnnemi(ptabEnnemis, pbenou30);
	ajouterEnnemi(ptabEnnemis, pbenou31);
	ajouterEnnemi(ptabEnnemis, pbenou32);
	ajouterEnnemi(ptabEnnemis, pbenou33);
	ajouterEnnemi(ptabEnnemis, pbenou34);
	ajouterEnnemi(ptabEnnemis, pbenou35);
	ajouterEnnemi(ptabEnnemis, pbenou36);
	ajouterEnnemi(ptabEnnemis, pbenou37);
	ajouterEnnemi(ptabEnnemis, pbenou38);
	ajouterEnnemi(ptabEnnemis, pbenou39);
	ajouterEnnemi(ptabEnnemis, pbenou40);
	ajouterEnnemi(ptabEnnemis, pbenou41);
	ajouterEnnemi(ptabEnnemis, pbenou42);
	ajouterEnnemi(ptabEnnemis, pbenou43);
	ajouterEnnemi(ptabEnnemis, pbenou44);

	TabTirs* ptab_ptir;
	ptab_ptir=creerTabTirs();
	
	TabBonus* ptab_pbonus;
	ptab_pbonus = creerTabBonus();

	Niveau* plevel;
	plevel=creerNiveau(pter, pboss, ppierre, ptabEnnemis, ptab_ptir, ptab_pbonus);
	plevel->nbre_ennemis=ptabEnnemis->nbre_ennemis;
	plevel->num_niveau_actuel = 22;
	plevel->num_niveau_suivant = 23;
	return plevel;
}

Niveau* creerNiveauBenou3 ()
{
	Terrain* pter;
	pter = creerTerrain(0,100,1000,0,20);
	
	Point* pptb1;
	Point* pptb2;
	pptb1 = creerPoint(25,10);
	pptb2 = creerPoint(90,10);
	Trajectoire* ptrajb;
	ptrajb = creerTrajectoire(pptb1,pptb2,1);
	Boss* pbenou;
	pbenou = creerBoss(2, 25, 10, ptrajb, 0);
	
	ArmePrincipale* parmeP;
	parmeP=creerArmePrincipale();
	ArmeSecondaire* parmeS1;
	parmeS1=creerArmeSecondaire(0);
	ArmeSecondaire* parmeS2;
	parmeS2=creerArmeSecondaire(1);
	Heros* pmayuyu;
	pmayuyu=creerHeros (parmeP, parmeS1, parmeS2, 200, getDimX_terrain(pter)/2 , getDimY_terrain(pter)-10, 1, 1);
	
	Point* pptr011;
	Point* pptr012;
	pptr011 = creerPoint(50,825);
	pptr012 = creerPoint(10,955);
	Trajectoire* ptrajr01;
	ptrajr01 = creerTrajectoire(pptr011,pptr012,0.5);
	Ennemi* probin01;
	probin01 = creerEnnemi(0,50,825,ptrajr01);
	
	Point* pptr021;
	Point* pptr022;
	pptr021 = creerPoint(50,825);
	pptr022 = creerPoint(42,955);
	Trajectoire* ptrajr02;
	ptrajr02 = creerTrajectoire(pptr021,pptr022,0.5);
	Ennemi* probin02;
	probin02 = creerEnnemi(0,50,825,ptrajr02);
	
	Point* pptr031;
	Point* pptr032;
	pptr031 = creerPoint(50,825);
	pptr032 = creerPoint(74,955);
	Trajectoire* ptrajr03;
	ptrajr03 = creerTrajectoire(pptr031,pptr032,0.5);
	Ennemi* probin03;
	probin03 = creerEnnemi(0,50,825,ptrajr03);
	
	Point* pptr041;
	Point* pptr042;
	pptr041 = creerPoint(13,775);
	pptr042 = creerPoint(26,905);
	Trajectoire* ptrajr04;
	ptrajr04 = creerTrajectoire(pptr041,pptr042,0.5);
	Ennemi* probin04;
	probin04 = creerEnnemi(0,13,775,ptrajr04);
	
	Point* pptr051;
	Point* pptr052;
	pptr051 = creerPoint(13,775);
	pptr052 = creerPoint(58,905);
	Trajectoire* ptrajr05;
	ptrajr05 = creerTrajectoire(pptr051,pptr052,0.5);
	Ennemi* probin05;
	probin05 = creerEnnemi(0,13,775,ptrajr05);
	
	Point* pptr061;
	Point* pptr062;
	pptr061 = creerPoint(13,775);
	pptr062 = creerPoint(90,905);
	Trajectoire* ptrajr06;
	ptrajr06 = creerTrajectoire(pptr061,pptr062,0.5);
	Ennemi* probin06;
	probin06 = creerEnnemi(0,13,775,ptrajr06);
	
	Point* pptr071;
	Point* pptr072;
	pptr071 = creerPoint(88,725);
	pptr072 = creerPoint(10,855);
	Trajectoire* ptrajr07;
	ptrajr07 = creerTrajectoire(pptr071,pptr072,0.5);
	Ennemi* probin07;
	probin07 = creerEnnemi(0,88,725,ptrajr07);
	
	Point* pptr081;
	Point* pptr082;
	pptr081 = creerPoint(88,725);
	pptr082 = creerPoint(42,855);
	Trajectoire* ptrajr08;
	ptrajr08 = creerTrajectoire(pptr081,pptr082,0.5);
	Ennemi* probin08;
	probin08 = creerEnnemi(0,88,725,ptrajr08);
	
	Point* pptr091;
	Point* pptr092;
	pptr091 = creerPoint(88,725);
	pptr092 = creerPoint(74,855);
	Trajectoire* ptrajr09;
	ptrajr09 = creerTrajectoire(pptr091,pptr092,0.5);
	Ennemi* probin09;
	probin09 = creerEnnemi(0,88,725,ptrajr09);
	
	Point* pptr101;
	Point* pptr102;
	pptr101 = creerPoint(50,698);
	pptr102 = creerPoint(50,798);
	Trajectoire* ptrajr10;
	ptrajr10 = creerTrajectoire(pptr101,pptr102,0.5);
	Ennemi* probin10;
	probin10 = creerEnnemi(0,50,698,ptrajr10);
	
	Point* pptr111;
	Point* pptr112;
	pptr111 = creerPoint(50,670);
	pptr112 = creerPoint(50,770);
	Trajectoire* ptrajr11;
	ptrajr11 = creerTrajectoire(pptr111,pptr112,0.5);
	Ennemi* probin11;
	probin11 = creerEnnemi(0,50,670,ptrajr11);
	
	Point* pptr121;
	Point* pptr122;
	pptr121 = creerPoint(36,656);
	pptr122 = creerPoint(75,706);
	Trajectoire* ptrajr12;
	ptrajr12 = creerTrajectoire(pptr121,pptr122,0.5);
	Ennemi* probin12;
	probin12 = creerEnnemi(0,36,656,ptrajr12);
	
	Point* pptr131;
	Point* pptr132;
	pptr131 = creerPoint(64,656);
	pptr132 = creerPoint(25,706);
	Trajectoire* ptrajr13;
	ptrajr13 = creerTrajectoire(pptr131,pptr132,0.5);
	Ennemi* probin13;
	probin13 = creerEnnemi(0,64,656,ptrajr13);
	
	Point* pptr141;
	Point* pptr142;
	pptr141 = creerPoint(50,642);
	pptr142 = creerPoint(50,742);
	Trajectoire* ptrajr14;
	ptrajr14 = creerTrajectoire(pptr141,pptr142,0.5);
	Ennemi* probin14;
	probin14 = creerEnnemi(0,50,642,ptrajr14);
	
	Point* pptr151;
	Point* pptr152;
	pptr151 = creerPoint(50,614);
	pptr152 = creerPoint(50,714);
	Trajectoire* ptrajr15;
	ptrajr15 = creerTrajectoire(pptr151,pptr152,0.5);
	Ennemi* probin15;
	probin15 = creerEnnemi(0,50,614,ptrajr15);
	
	Point* pptr161;
	Point* pptr162;
	pptr161 = creerPoint(26,565);
	pptr162 = creerPoint(26,665);
	Trajectoire* ptrajr16;
	ptrajr16 = creerTrajectoire(pptr161,pptr162,0.5);
	Ennemi* probin16;
	probin16 = creerEnnemi(0,26,565,ptrajr16);
	
	Point* pptr171;
	Point* pptr172;
	pptr171 = creerPoint(2,545);
	pptr172 = creerPoint(2,645);
	Trajectoire* ptrajr17;
	ptrajr17 = creerTrajectoire(pptr171,pptr172,0.5);
	Ennemi* probin17;
	probin17 = creerEnnemi(0,2,545,ptrajr17);
	
	Point* pptr181;
	Point* pptr182;
	pptr181 = creerPoint(50,545);
	pptr182 = creerPoint(50,645);
	Trajectoire* ptrajr18;
	ptrajr18 = creerTrajectoire(pptr181,pptr182,0.5);
	Ennemi* probin18;
	probin18 = creerEnnemi(0,50,545,ptrajr18);
	
	Point* pptr191;
	Point* pptr192;
	pptr191 = creerPoint(74,535);
	pptr192 = creerPoint(74,635);
	Trajectoire* ptrajr19;
	ptrajr19 = creerTrajectoire(pptr191,pptr192,0.5);
	Ennemi* probin19;
	probin19 = creerEnnemi(0,74,535,ptrajr19);
	
	Point* pptr201;
	Point* pptr202;
	pptr201 = creerPoint(50,486);
	pptr202 = creerPoint(50,586);
	Trajectoire* ptrajr20;
	ptrajr20 = creerTrajectoire(pptr201,pptr202,0.5);
	Ennemi* probin20;
	probin20 = creerEnnemi(0,50,486,ptrajr20);
	
	Point* pptr211;
	Point* pptr212;
	pptr211 = creerPoint(22,458);
	pptr212 = creerPoint(50,508);
	Trajectoire* ptrajr21;
	ptrajr21 = creerTrajectoire(pptr211,pptr212,0.5);
	Ennemi* probin21;
	probin21 = creerEnnemi(0,22,458,ptrajr21);
	
	Point* pptr221;
	Point* pptr222;
	pptr221 = creerPoint(50,458);
	pptr222 = creerPoint(50,558);
	Trajectoire* ptrajr22;
	ptrajr22 = creerTrajectoire(pptr221,pptr222,0.5);
	Ennemi* probin22;
	probin22 = creerEnnemi(0,50,458,ptrajr22);
	
	Point* pptr231;
	Point* pptr232;
	pptr231 = creerPoint(78,458);
	pptr232 = creerPoint(50,508);
	Trajectoire* ptrajr23;
	ptrajr23 = creerTrajectoire(pptr231,pptr232,0.5);
	Ennemi* probin23;
	probin23 = creerEnnemi(0,78,458,ptrajr23);
	
	Point* pptr241;
	Point* pptr242;
	pptr241 = creerPoint(50,430);
	pptr242 = creerPoint(50,530);
	Trajectoire* ptrajr24;
	ptrajr24 = creerTrajectoire(pptr241,pptr242,0.5);
	Ennemi* probin24;
	probin24 = creerEnnemi(0,50,430,ptrajr24);
	
	Point* pptr251;
	Point* pptr252;
	pptr251 = creerPoint(50,355);
	pptr252 = creerPoint(50,455);
	Trajectoire* ptrajr25;
	ptrajr25 = creerTrajectoire(pptr251,pptr252,0.5);
	Ennemi* probin25;
	probin25 = creerEnnemi(0,50,355,ptrajr25);
	
	Point* pptr261;
	Point* pptr262;
	pptr261 = creerPoint(74,355);
	pptr262 = creerPoint(74,455);
	Trajectoire* ptrajr26;
	ptrajr26 = creerTrajectoire(pptr261,pptr262,0.5);
	Ennemi* probin26;
	probin26 = creerEnnemi(0,74,355,ptrajr26);
	
	Point* pptr271;
	Point* pptr272;
	pptr271 = creerPoint(2,345);
	pptr272 = creerPoint(2,445);
	Trajectoire* ptrajr27;
	ptrajr27 = creerTrajectoire(pptr271,pptr272,0.5);
	Ennemi* probin27;
	probin27 = creerEnnemi(0,2,345,ptrajr27);
	
	Point* pptr281;
	Point* pptr282;
	pptr281 = creerPoint(26,335);
	pptr282 = creerPoint(26,435);
	Trajectoire* ptrajr28;
	ptrajr28 = creerTrajectoire(pptr281,pptr282,0.5);
	Ennemi* probin28;
	probin28 = creerEnnemi(0,26,335,ptrajr28);
	
	Point* pptr291;
	Point* pptr292;
	pptr291 = creerPoint(45,270);
	pptr292 = creerPoint(45,370);
	Trajectoire* ptrajr29;
	ptrajr29 = creerTrajectoire(pptr291,pptr292,0.5);
	Ennemi* probin29;
	probin29 = creerEnnemi(0,45,270,ptrajr29);
	
	Point* pptr301;
	Point* pptr302;
	pptr301 = creerPoint(54,270);
	pptr302 = creerPoint(54,370);
	Trajectoire* ptrajr30;
	ptrajr30 = creerTrajectoire(pptr301,pptr302,0.5);
	Ennemi* probin30;
	probin30 = creerEnnemi(0,54,270,ptrajr30);
	
	Point* pptr311;
	Point* pptr312;
	pptr311 = creerPoint(45,250);
	pptr312 = creerPoint(45,350);
	Trajectoire* ptrajr31;
	ptrajr31 = creerTrajectoire(pptr311,pptr312,0.5);
	Ennemi* probin31;
	probin31 = creerEnnemi(0,45,250,ptrajr31);
	
	Point* pptr321;
	Point* pptr322;
	pptr321 = creerPoint(54,250);
	pptr322 = creerPoint(54,350);
	Trajectoire* ptrajr32;
	ptrajr32 = creerTrajectoire(pptr321,pptr322,0.5);
	Ennemi* probin32;
	probin32 = creerEnnemi(0,54,250,ptrajr32);
	
	Point* pptr331;
	Point* pptr332;
	pptr331 = creerPoint(45,230);
	pptr332 = creerPoint(45,330);
	Trajectoire* ptrajr33;
	ptrajr33 = creerTrajectoire(pptr331,pptr332,0.5);
	Ennemi* probin33;
	probin33 = creerEnnemi(0,45,230,ptrajr33);
	
	Point* pptr341;
	Point* pptr342;
	pptr341 = creerPoint(54,230);
	pptr342 = creerPoint(54,330);
	Trajectoire* ptrajr34;
	ptrajr34 = creerTrajectoire(pptr341,pptr342,0.5);
	Ennemi* probin34;
	probin34 = creerEnnemi(0,54,230,ptrajr34);
	
	Point* pptr351;
	Point* pptr352;
	pptr351 = creerPoint(45,210);
	pptr352 = creerPoint(45,310);
	Trajectoire* ptrajr35;
	ptrajr35 = creerTrajectoire(pptr351,pptr352,0.5);
	Ennemi* probin35;
	probin35 = creerEnnemi(0,45,210,ptrajr35);
	
	Point* pptr361;
	Point* pptr362;
	pptr361 = creerPoint(54,310);
	pptr362 = creerPoint(54,410);
	Trajectoire* ptrajr36;
	ptrajr36 = creerTrajectoire(pptr361,pptr362,0.5);
	Ennemi* probin36;
	probin36 = creerEnnemi(0,54,310,ptrajr36);
	
	Point* pptr371;
	Point* pptr372;
	pptr371 = creerPoint(68,135);
	pptr372 = creerPoint(68,235);
	Trajectoire* ptrajr37;
	ptrajr37 = creerTrajectoire(pptr371,pptr372,0.5);
	Ennemi* probin37;
	probin37 = creerEnnemi(0,68,135,ptrajr37);
	
	Point* pptr381;
	Point* pptr382;
	pptr381 = creerPoint(80,173);
	pptr382 = creerPoint(80,273);
	Trajectoire* ptrajr38;
	ptrajr38 = creerTrajectoire(pptr381,pptr382,0.5);
	Ennemi* probin38;
	probin38 = creerEnnemi(0,80,173,ptrajr38);
	
	Point* pptr391;
	Point* pptr392;
	pptr391 = creerPoint(35,171);
	pptr392 = creerPoint(35,271);
	Trajectoire* ptrajr39;
	ptrajr39 = creerTrajectoire(pptr391,pptr392,0.5);
	Ennemi* probin39;
	probin39 = creerEnnemi(0,35,171,ptrajr39);
	
	Point* pptr401;
	Point* pptr402;
	pptr401 = creerPoint(78,145);
	pptr402 = creerPoint(78,245);
	Trajectoire* ptrajr40;
	ptrajr40 = creerTrajectoire(pptr401,pptr402,0.5);
	Ennemi* probin40;
	probin40 = creerEnnemi(0,78,245,ptrajr40);
	
	Point* pptr411;
	Point* pptr412;
	pptr411 = creerPoint(67,135);
	pptr412 = creerPoint(67,235);
	Trajectoire* ptrajr41;
	ptrajr41 = creerTrajectoire(pptr411,pptr412,0.5);
	Ennemi* probin41;
	probin41 = creerEnnemi(0,67,135,ptrajr41);
	
	Point* pptr421;
	Point* pptr422;
	pptr421 = creerPoint(23,128);
	pptr422 = creerPoint(23,228);
	Trajectoire* ptrajr42;
	ptrajr42 = creerTrajectoire(pptr421,pptr422,0.5);
	Ennemi* probin42;
	probin42 = creerEnnemi(0,23,128,ptrajr42);
	
	Point* pptr431;
	Point* pptr432;
	pptr431 = creerPoint(69,114);
	pptr432 = creerPoint(69,214);
	Trajectoire* ptrajr43;
	ptrajr43 = creerTrajectoire(pptr431,pptr432,0.5);
	Ennemi* probin43;
	probin43 = creerEnnemi(0,69,114,ptrajr43);
	
	Point* pptp011;
	Point* pptp012;
	pptp011 = creerPoint(50,825);
	pptp012 = creerPoint(26,955);
	Trajectoire* ptrajp01;
	ptrajp01 = creerTrajectoire(pptp011,pptp012,0.8);
	Ennemi* ppierre01;
	ppierre01 = creerEnnemi(1,50,825,ptrajp01);
	
	Point* pptp021;
	Point* pptp022;
	pptp021 = creerPoint(50,825);
	pptp022 = creerPoint(58,955);
	Trajectoire* ptrajp02;
	ptrajp02 = creerTrajectoire(pptp021,pptp022,0.8);
	Ennemi* ppierre02;
	ppierre02 = creerEnnemi(1,50,825,ptrajp02);
	
	Point* pptp031;
	Point* pptp032;
	pptp031 = creerPoint(50,825);
	pptp032 = creerPoint(90,955);
	Trajectoire* ptrajp03;
	ptrajp03 = creerTrajectoire(pptp031,pptp032,0.8);
	Ennemi* ppierre03;
	ppierre03 = creerEnnemi(1,50,825,ptrajp03);
	
	Point* pptp041;
	Point* pptp042;
	pptp041 = creerPoint(13,775);
	pptp042 = creerPoint(10,905);
	Trajectoire* ptrajp04;
	ptrajp04 = creerTrajectoire(pptp041,pptp042,0.8);
	Ennemi* ppierre04;
	ppierre04 = creerEnnemi(1,13,775,ptrajp04);
	
	Point* pptp051;
	Point* pptp052;
	pptp051 = creerPoint(13,775);
	pptp052 = creerPoint(42,905);
	Trajectoire* ptrajp05;
	ptrajp05 = creerTrajectoire(pptp051,pptp052,0.8);
	Ennemi* ppierre05;
	ppierre05 = creerEnnemi(1,13,775,ptrajp05);
	
	Point* pptp061;
	Point* pptp062;
	pptp061 = creerPoint(13,775);
	pptp062 = creerPoint(74,905);
	Trajectoire* ptrajp06;
	ptrajp06 = creerTrajectoire(pptp061,pptp062,0.8);
	Ennemi* ppierre06;
	ppierre06 = creerEnnemi(1,13,775,ptrajp06);
	
	Point* pptp071;
	Point* pptp072;
	pptp071 = creerPoint(88,725);
	pptp072 = creerPoint(26,855);
	Trajectoire* ptrajp07;
	ptrajp07 = creerTrajectoire(pptp071,pptp072,0.8);
	Ennemi* ppierre07;
	ppierre07 = creerEnnemi(1,88,725,ptrajp07);
	
	Point* pptp081;
	Point* pptp082;
	pptp081 = creerPoint(88,725);
	pptp082 = creerPoint(58,855);
	Trajectoire* ptrajp08;
	ptrajp08 = creerTrajectoire(pptp081,pptp082,0.8);
	Ennemi* ppierre08;
	ppierre08 = creerEnnemi(1,88,725,ptrajp08);
	
	Point* pptp091;
	Point* pptp092;
	pptp091 = creerPoint(88,725);
	pptp092 = creerPoint(90,855);
	Trajectoire* ptrajp09;
	ptrajp09 = creerTrajectoire(pptp091,pptp092,0.8);
	Ennemi* ppierre09;
	ppierre09 = creerEnnemi(1,88,725,ptrajp09);
	
	Point* pptp101;
	Point* pptp102;
	pptp101 = creerPoint(50,684);
	pptp102 = creerPoint(50,784);
	Trajectoire* ptrajp10;
	ptrajp10 = creerTrajectoire(pptp101,pptp102,0.8);
	Ennemi* ppierre10;
	ppierre10 = creerEnnemi(1,50,684,ptrajp10);
	
	Point* pptp111;
	Point* pptp112;
	pptp111 = creerPoint(22,656);
	pptp112 = creerPoint(50,706);
	Trajectoire* ptrajp11;
	ptrajp11 = creerTrajectoire(pptp111,pptp112,0.8);
	Ennemi* ppierre11;
	ppierre11 = creerEnnemi(1,22,656,ptrajp11);
	
	Point* pptp121;
	Point* pptp122;
	pptp121 = creerPoint(50,656);
	pptp122 = creerPoint(50,756);
	Trajectoire* ptrajp12;
	ptrajp12 = creerTrajectoire(pptp121,pptp122,0.8);
	Ennemi* ppierre12;
	ppierre12 = creerEnnemi(1,50,656,ptrajp12);
	
	Point* pptp131;
	Point* pptp132;
	pptp131 = creerPoint(78,656);
	pptp132 = creerPoint(50,706);
	Trajectoire* ptrajp13;
	ptrajp13 = creerTrajectoire(pptp131,pptp132,0.8);
	Ennemi* ppierre13;
	ppierre13 = creerEnnemi(1,78,656,ptrajp13);
	
	Point* pptp141;
	Point* pptp142;
	pptp141 = creerPoint(50,628);
	pptp142 = creerPoint(50,728);
	Trajectoire* ptrajp14;
	ptrajp14 = creerTrajectoire(pptp141,pptp142,0.8);
	Ennemi* ppierre14;
	ppierre14 = creerEnnemi(1,50,628,ptrajp14);
	
	Point* pptp151;
	Point* pptp152;
	pptp151 = creerPoint(14,355);
	pptp152 = creerPoint(14,455);
	Trajectoire* ptrajp15;
	ptrajp15 = creerTrajectoire(pptp151,pptp152,0.8);
	Ennemi* ppierre15;
	ppierre15 = creerEnnemi(1,14,355,ptrajp15);
	
	Point* pptp161;
	Point* pptp162;
	pptp161 = creerPoint(35,355);
	pptp162 = creerPoint(35,455);
	Trajectoire* ptrajp16;
	ptrajp16 = creerTrajectoire(pptp161,pptp162,0.8);
	Ennemi* ppierre16;
	ppierre16 = creerEnnemi(1,35,355,ptrajp16);
	
	Point* pptp171;
	Point* pptp172;
	pptp171 = creerPoint(86,545);
	pptp172 = creerPoint(86,645);
	Trajectoire* ptrajp17;
	ptrajp17 = creerTrajectoire(pptp171,pptp172,0.8);
	Ennemi* ppierre17;
	ppierre17 = creerEnnemi(1,86,545,ptrajp17);
	
	Point* pptp181;
	Point* pptp182;
	pptp181 = creerPoint(62,535);
	pptp182 = creerPoint(62,635);
	Trajectoire* ptrajp18;
	ptrajp18 = creerTrajectoire(pptp181,pptp182,0.8);
	Ennemi* ppierre18;
	ppierre18 = creerEnnemi(1,62,535,ptrajp18);
	
	Point* pptp191;
	Point* pptp192;
	pptp191 = creerPoint(50,500);
	pptp192 = creerPoint(50,600);
	Trajectoire* ptrajp19;
	ptrajp19 = creerTrajectoire(pptp191,pptp192,0.8);
	Ennemi* ppierre19;
	ppierre19 = creerEnnemi(1,50,500,ptrajp19);
	
	Point* pptp201;
	Point* pptp202;
	pptp201 = creerPoint(50,472);
	pptp202 = creerPoint(50,572);
	Trajectoire* ptrajp20;
	ptrajp20 = creerTrajectoire(pptp201,pptp202,0.8);
	Ennemi* ppierre20;
	ppierre20 = creerEnnemi(1,50,472,ptrajp20);
	
	Point* pptp211;
	Point* pptp212;
	pptp211 = creerPoint(36,458);
	pptp212 = creerPoint(75,508);
	Trajectoire* ptrajp21;
	ptrajp21 = creerTrajectoire(pptp211,pptp212,0.8);
	Ennemi* ppierre21;
	ppierre21 = creerEnnemi(1,36,458,ptrajp21);
	
	Point* pptp221;
	Point* pptp222;
	pptp221 = creerPoint(64,458);
	pptp222 = creerPoint(25,508);
	Trajectoire* ptrajp22;
	ptrajp22 = creerTrajectoire(pptp221,pptp222,0.8);
	Ennemi* ppierre22;
	ppierre22 = creerEnnemi(1,64,458,ptrajp22);
	
	Point* pptp231;
	Point* pptp232;
	pptp231 = creerPoint(50,444);
	pptp232 = creerPoint(50,544);
	Trajectoire* ptrajp23;
	ptrajp23 = creerTrajectoire(pptp231,pptp232,0.8);
	Ennemi* ppierre23;
	ppierre23 = creerEnnemi(1,50,444,ptrajp23);
	
	Point* pptp241;
	Point* pptp242;
	pptp241 = creerPoint(50,416);
	pptp242 = creerPoint(50,516);
	Trajectoire* ptrajp24;
	ptrajp24 = creerTrajectoire(pptp241,pptp242,0.8);
	Ennemi* ppierre24;
	ppierre24 = creerEnnemi(1,50,416,ptrajp24);
	
	Point* pptp251;
	Point* pptp252;
	pptp251 = creerPoint(50,365);
	pptp252 = creerPoint(50,465);
	Trajectoire* ptrajp25;
	ptrajp25 = creerTrajectoire(pptp251,pptp252,0.8);
	Ennemi* ppierre25;
	ppierre25 = creerEnnemi(1,50,365,ptrajp25);
	
	Point* pptp261;
	Point* pptp262;
	pptp261 = creerPoint(38,345);
	pptp262 = creerPoint(38,445);
	Trajectoire* ptrajp26;
	ptrajp26 = creerTrajectoire(pptp261,pptp262,0.8);
	Ennemi* ppierre26;
	ppierre26 = creerEnnemi(1,38,345,ptrajp26);
	
	Point* pptp271;
	Point* pptp272;
	pptp271 = creerPoint(86,345);
	pptp272 = creerPoint(86,445);
	Trajectoire* ptrajp27;
	ptrajp27 = creerTrajectoire(pptp271,pptp272,0.8);
	Ennemi* ppierre27;
	ppierre27 = creerEnnemi(1,86,345,ptrajp27);
	
	Point* pptp281;
	Point* pptp282;
	pptp281 = creerPoint(14,335);
	pptp282 = creerPoint(14,435);
	Trajectoire* ptrajp28;
	ptrajp28 = creerTrajectoire(pptp281,pptp282,0.8);
	Ennemi* ppierre28;
	ppierre28 = creerEnnemi(1,14,335,ptrajp28);
	
	Point* pptp291;
	Point* pptp292;
	pptp291 = creerPoint(45,290);
	pptp292 = creerPoint(45,390);
	Trajectoire* ptrajp29;
	ptrajp29 = creerTrajectoire(pptp291,pptp292,0.8);
	Ennemi* ppierre29;
	ppierre29 = creerEnnemi(1,45,290,ptrajp29);
	
	Point* pptp301;
	Point* pptp302;
	pptp301 = creerPoint(54,290);
	pptp302 = creerPoint(54,390);
	Trajectoire* ptrajp30;
	ptrajp30 = creerTrajectoire(pptp301,pptp302,0.8);
	Ennemi* ppierre30;
	ppierre30 = creerEnnemi(1,54,290,ptrajp30);
	
	Point* pptp311;
	Point* pptp312;
	pptp311 = creerPoint(36,270);
	pptp312 = creerPoint(36,370);
	Trajectoire* ptrajp31;
	ptrajp31 = creerTrajectoire(pptp311,pptp312,0.8);
	Ennemi* ppierre31;
	ppierre31 = creerEnnemi(1,36,270,ptrajp31);
	
	Point* pptp321;
	Point* pptp322;
	pptp321 = creerPoint(63,270);
	pptp322 = creerPoint(63,370);
	Trajectoire* ptrajp32;
	ptrajp32 = creerTrajectoire(pptp321,pptp322,0.8);
	Ennemi* ppierre32;
	ppierre32 = creerEnnemi(1,63,270,ptrajp32);
	
	Point* pptp331;
	Point* pptp332;
	pptp331 = creerPoint(27,250);
	pptp332 = creerPoint(27,350);
	Trajectoire* ptrajp33;
	ptrajp33 = creerTrajectoire(pptp331,pptp332,0.8);
	Ennemi* ppierre33;
	ppierre33 = creerEnnemi(1,27,250,ptrajp33);
	
	Point* pptp341;
	Point* pptp342;
	pptp341 = creerPoint(72,250);
	pptp342 = creerPoint(72,350);
	Trajectoire* ptrajp34;
	ptrajp34 = creerTrajectoire(pptp341,pptp342,0.8);
	Ennemi* ppierre34;
	ppierre34 = creerEnnemi(1,72,250,ptrajp34);
	
	Point* pptp351;
	Point* pptp352;
	pptp351 = creerPoint(18,230);
	pptp352 = creerPoint(18,330);
	Trajectoire* ptrajp35;
	ptrajp35 = creerTrajectoire(pptp351,pptp352,0.8);
	Ennemi* ppierre35;
	ppierre35 = creerEnnemi(1,18,230,ptrajp35);
	
	Point* pptp361;
	Point* pptp362;
	pptp361 = creerPoint(81,230);
	pptp362 = creerPoint(81,330);
	Trajectoire* ptrajp36;
	ptrajp36 = creerTrajectoire(pptp361,pptp362,0.8);
	Ennemi* ppierre36;
	ppierre36 = creerEnnemi(1,81,230,ptrajp36);
	
	Point* pptp371;
	Point* pptp372;
	pptp371 = creerPoint(45,199);
	pptp372 = creerPoint(25,300);
	Trajectoire* ptrajp37;
	ptrajp37 = creerTrajectoire(pptp371,pptp372,0.8);
	Ennemi* ppierre37;
	ppierre37 = creerEnnemi(1,45,199,ptrajp37);
	
	Point* pptp381;
	Point* pptp382;
	pptp381 = creerPoint(82,198);
	pptp382 = creerPoint(75,300);
	Trajectoire* ptrajp38;
	ptrajp38 = creerTrajectoire(pptp381,pptp382,0.8);
	Ennemi* ppierre38;
	ppierre38 = creerEnnemi(1,82,198,ptrajp38);
	
	Point* pptp391;
	Point* pptp392;
	pptp391 = creerPoint(69,169);
	pptp392 = creerPoint(50,300);
	Trajectoire* ptrajp39;
	ptrajp39 = creerTrajectoire(pptp391,pptp392,0.8);
	Ennemi* ppierre39;
	ppierre39 = creerEnnemi(1,69,169,ptrajp39);
	
	Point* pptp401;
	Point* pptp402;
	pptp401 = creerPoint(50,150);
	pptp402 = creerPoint(50,250);
	Trajectoire* ptrajp40;
	ptrajp40 = creerTrajectoire(pptp401,pptp402,0.8);
	Ennemi* ppierre40;
	ppierre40 = creerEnnemi(1,50,150,ptrajp40);
	
	Point* pptp411;
	Point* pptp412;
	pptp411 = creerPoint(38,140);
	pptp412 = creerPoint(75,240);
	Trajectoire* ptrajp41;
	ptrajp41 = creerTrajectoire(pptp411,pptp412,0.8);
	Ennemi* ppierre41;
	ppierre41 = creerEnnemi(1,38,140,ptrajp41);
	
	Point* pptp421;
	Point* pptp422;
	pptp421 = creerPoint(21,179);
	pptp422 = creerPoint(100,300);
	Trajectoire* ptrajp42;
	ptrajp42 = creerTrajectoire(pptp421,pptp422,0.8);
	Ennemi* ppierre42;
	ppierre42 = creerEnnemi(1,21,179,ptrajp42);
	
	Point* pptp431;
	Point* pptp432;
	pptp431 = creerPoint(84,120);
	pptp432 = creerPoint(45,250);
	Trajectoire* ptrajp43;
	ptrajp43 = creerTrajectoire(pptp431,pptp432,0.8);
	Ennemi* ppierre43;
	ppierre43 = creerEnnemi(1,84,120,ptrajp43);
	
	Point* pptp441;
	Point* pptp442;
	pptp441 = creerPoint(19,110);
	pptp442 = creerPoint(50,230);
	Trajectoire* ptrajp44;
	ptrajp44 = creerTrajectoire(pptp441,pptp442,0.8);
	Ennemi* ppierre44;
	ppierre44 = creerEnnemi(1,19,110,ptrajp44);

	TabEnnemis* ptabEnnemis;
	ptabEnnemis=creerTabEnnemis ();
	ajouterEnnemi(ptabEnnemis, probin01);
	ajouterEnnemi(ptabEnnemis, probin02);
	ajouterEnnemi(ptabEnnemis, probin03);
	ajouterEnnemi(ptabEnnemis, probin04);
	ajouterEnnemi(ptabEnnemis, probin05);
	ajouterEnnemi(ptabEnnemis, probin06);
	ajouterEnnemi(ptabEnnemis, probin07);
	ajouterEnnemi(ptabEnnemis, probin08);
	ajouterEnnemi(ptabEnnemis, probin09);
	ajouterEnnemi(ptabEnnemis, probin10);
	ajouterEnnemi(ptabEnnemis, probin11);
	ajouterEnnemi(ptabEnnemis, probin12);
	ajouterEnnemi(ptabEnnemis, probin13);
	ajouterEnnemi(ptabEnnemis, probin14);
	ajouterEnnemi(ptabEnnemis, probin15);
	ajouterEnnemi(ptabEnnemis, probin16);
	ajouterEnnemi(ptabEnnemis, probin17);
	ajouterEnnemi(ptabEnnemis, probin18);
	ajouterEnnemi(ptabEnnemis, probin19);
	ajouterEnnemi(ptabEnnemis, probin20);
	ajouterEnnemi(ptabEnnemis, probin21);
	ajouterEnnemi(ptabEnnemis, probin22);
	ajouterEnnemi(ptabEnnemis, probin23);
	ajouterEnnemi(ptabEnnemis, probin24);
	ajouterEnnemi(ptabEnnemis, probin25);
	ajouterEnnemi(ptabEnnemis, probin26);
	ajouterEnnemi(ptabEnnemis, probin27);
	ajouterEnnemi(ptabEnnemis, probin28);
	ajouterEnnemi(ptabEnnemis, probin29);
	ajouterEnnemi(ptabEnnemis, probin30);
	ajouterEnnemi(ptabEnnemis, probin31);
	ajouterEnnemi(ptabEnnemis, probin32);
	ajouterEnnemi(ptabEnnemis, probin33);
	ajouterEnnemi(ptabEnnemis, probin34);
	ajouterEnnemi(ptabEnnemis, probin35);
	ajouterEnnemi(ptabEnnemis, probin36);
	ajouterEnnemi(ptabEnnemis, probin37);
	ajouterEnnemi(ptabEnnemis, probin38);
	ajouterEnnemi(ptabEnnemis, probin39);
	ajouterEnnemi(ptabEnnemis, probin40);
	ajouterEnnemi(ptabEnnemis, probin41);
	ajouterEnnemi(ptabEnnemis, probin42);
	ajouterEnnemi(ptabEnnemis, probin43);
	ajouterEnnemi(ptabEnnemis, ppierre01);
	ajouterEnnemi(ptabEnnemis, ppierre02);
	ajouterEnnemi(ptabEnnemis, ppierre03);
	ajouterEnnemi(ptabEnnemis, ppierre04);
	ajouterEnnemi(ptabEnnemis, ppierre05);
	ajouterEnnemi(ptabEnnemis, ppierre06);
	ajouterEnnemi(ptabEnnemis, ppierre07);
	ajouterEnnemi(ptabEnnemis, ppierre08);
	ajouterEnnemi(ptabEnnemis, ppierre09);
	ajouterEnnemi(ptabEnnemis, ppierre10);
	ajouterEnnemi(ptabEnnemis, ppierre11);
	ajouterEnnemi(ptabEnnemis, ppierre12);
	ajouterEnnemi(ptabEnnemis, ppierre13);
	ajouterEnnemi(ptabEnnemis, ppierre14);
	ajouterEnnemi(ptabEnnemis, ppierre15);
	ajouterEnnemi(ptabEnnemis, ppierre16);
	ajouterEnnemi(ptabEnnemis, ppierre17);
	ajouterEnnemi(ptabEnnemis, ppierre18);
	ajouterEnnemi(ptabEnnemis, ppierre19);
	ajouterEnnemi(ptabEnnemis, ppierre20);
	ajouterEnnemi(ptabEnnemis, ppierre21);
	ajouterEnnemi(ptabEnnemis, ppierre22);
	ajouterEnnemi(ptabEnnemis, ppierre23);
	ajouterEnnemi(ptabEnnemis, ppierre24);
	ajouterEnnemi(ptabEnnemis, ppierre25);
	ajouterEnnemi(ptabEnnemis, ppierre26);
	ajouterEnnemi(ptabEnnemis, ppierre27);
	ajouterEnnemi(ptabEnnemis, ppierre28);
	ajouterEnnemi(ptabEnnemis, ppierre29);
	ajouterEnnemi(ptabEnnemis, ppierre30);
	ajouterEnnemi(ptabEnnemis, ppierre31);
	ajouterEnnemi(ptabEnnemis, ppierre32);
	ajouterEnnemi(ptabEnnemis, ppierre33);
	ajouterEnnemi(ptabEnnemis, ppierre34);
	ajouterEnnemi(ptabEnnemis, ppierre35);
	ajouterEnnemi(ptabEnnemis, ppierre36);
	ajouterEnnemi(ptabEnnemis, ppierre37);
	ajouterEnnemi(ptabEnnemis, ppierre38);
	ajouterEnnemi(ptabEnnemis, ppierre39);
	ajouterEnnemi(ptabEnnemis, ppierre40);
	ajouterEnnemi(ptabEnnemis, ppierre41);
	ajouterEnnemi(ptabEnnemis, ppierre42);
	ajouterEnnemi(ptabEnnemis, ppierre43);
	ajouterEnnemi(ptabEnnemis, ppierre44);

	TabTirs* ptab_ptir;
	ptab_ptir=creerTabTirs();
	
	TabBonus* ptab_pbonus;
	ptab_pbonus = creerTabBonus();

	Niveau* plevel;
	plevel=creerNiveau(pter, pbenou, pmayuyu, ptabEnnemis, ptab_ptir, ptab_pbonus);
	plevel->nbre_ennemis=ptabEnnemis->nbre_ennemis;
	plevel->num_niveau_actuel = 2;
	plevel->num_niveau_suivant = 3;
	return plevel;
}

Niveau* creerNiveauBenou4 ()
{
	Terrain* pter;
	pter = creerTerrain(0,100,1000,0,20);
	
	Point* pptb1;
	Point* pptb2;
	pptb1 = creerPoint(15,10);
	pptb2 = creerPoint(90,10);
	Trajectoire* ptrajb;
	ptrajb = creerTrajectoire(pptb1,pptb2,1);
	Boss* pboss;
	pboss = creerBoss(1, 10, 10, ptrajb, 0);
	
	ArmePrincipale* parmeP;
	parmeP=creerArmePrincipale();
	ArmeSecondaire* parmeS1;
	parmeS1=creerArmeSecondaire(0);
	ArmeSecondaire* parmeS2;
	parmeS2=creerArmeSecondaire(1);
	Heros* pben;
	pben=creerHeros (parmeP, parmeS1, parmeS2, 200 , getDimX_terrain(pter)/2 , getDimY_terrain(pter)-10, 1, 1);
	
	Point* pptr011;
	Point* pptr012;
	pptr011 = creerPoint(17,748);
	pptr012 = creerPoint(75,980);
	Trajectoire* ptrajr01;
	ptrajr01 = creerTrajectoire(pptr011,pptr012,0.8);
	Ennemi* pbenou01;
	pbenou01 = creerEnnemi(0, 7, 748, ptrajr01);
	
	Point* pptr021;
	Point* pptr022;
	pptr021 = creerPoint(84,799);
	pptr022 = creerPoint(65,930);
	Trajectoire* ptrajr02;
	ptrajr02 = creerTrajectoire(pptr021,pptr022,0.5);
	Ennemi* pbenou02;
	pbenou02 = creerEnnemi(0,84,799,ptrajr02);
	
	Point* pptr031;
	Point* pptr032;
	pptr031 = creerPoint(19,710);
	pptr032 = creerPoint(96,860);
	Trajectoire* ptrajr03;
	ptrajr03 = creerTrajectoire(pptr031,pptr032,0.5);
	Ennemi* pbenou03;
	pbenou03 = creerEnnemi(0,19,710,ptrajr03);
	
	Point* pptr041;
	Point* pptr042;
	pptr041 = creerPoint(27,651);
	pptr042 = creerPoint(10,785);
	Trajectoire* ptrajr04;
	ptrajr04 = creerTrajectoire(pptr041,pptr042,0.5);
	Ennemi* pbenou04;
	pbenou04 = creerEnnemi(0,27,651,ptrajr04);
	
	Point* pptr051;
	Point* pptr052;
	pptr051 = creerPoint(30,600);
	pptr052 = creerPoint(9,740);
	Trajectoire* ptrajr05;
	ptrajr05 = creerTrajectoire(pptr051,pptr052,0.5);
	Ennemi* pbenou05;
	pbenou05 = creerEnnemi(0,30,600,ptrajr05);
	
	Point* pptr061;
	Point* pptr062;
	pptr061 = creerPoint(12,578);
	pptr062 = creerPoint(37,710);
	Trajectoire* ptrajr06;
	ptrajr06 = creerTrajectoire(pptr061,pptr062,0.5);
	Ennemi* pbenou06;
	pbenou06 = creerEnnemi(0,12,578,ptrajr06);
	
	Point* pptr071;
	Point* pptr072;
	pptr071 = creerPoint(75,550);
	pptr072 = creerPoint(56,630);
	Trajectoire* ptrajr07;
	ptrajr07 = creerTrajectoire(pptr071,pptr072,0.5);
	Ennemi* pbenou07;
	pbenou07 = creerEnnemi(0,75,550,ptrajr07);
	
	Point* pptr081;
	Point* pptr082;
	pptr081 = creerPoint(72,450);
	pptr082 = creerPoint(15,575);
	Trajectoire* ptrajr08;
	ptrajr08 = creerTrajectoire(pptr081,pptr082,0.5);
	Ennemi* pbenou08;
	pbenou08 = creerEnnemi(0,72,450,ptrajr08);
	
	Point* pptr091;
	Point* pptr092;
	pptr091 = creerPoint(55,409);
	pptr092 = creerPoint(51,558);
	Trajectoire* ptrajr09;
	ptrajr09 = creerTrajectoire(pptr091,pptr092,0.5);
	Ennemi* pbenou09;
	pbenou09 = creerEnnemi(0,55,409,ptrajr09);
	
	Point* pptr101;
	Point* pptr102;
	pptr101 = creerPoint(77,340);
	pptr102 = creerPoint(92,460);
	Trajectoire* ptrajr10;
	ptrajr10 = creerTrajectoire(pptr101,pptr102,0.5);
	Ennemi* pbenou10;
	pbenou10 = creerEnnemi(0,77,340,ptrajr10);
	
	Point* pptr111;
	Point* pptr112;
	pptr111 = creerPoint(46,300);
	pptr112 = creerPoint(56,425);
	Trajectoire* ptrajr11;
	ptrajr11 = creerTrajectoire(pptr111,pptr112,0.5);
	Ennemi* pbenou11;
	pbenou11 = creerEnnemi(0,46,300,ptrajr11);
	
	Point* pptr121;
	Point* pptr122;
	pptr121 = creerPoint(39,230);
	pptr122 = creerPoint(63,355);
	Trajectoire* ptrajr12;
	ptrajr12 = creerTrajectoire(pptr121,pptr122,0.5);
	Ennemi* pbenou12;
	pbenou12 = creerEnnemi(0,39,230,ptrajr12);
	
	Point* pptr131;
	Point* pptr132;
	pptr131 = creerPoint(23,200);
	pptr132 = creerPoint(4,350);
	Trajectoire* ptrajr13;
	ptrajr13 = creerTrajectoire(pptr131,pptr132,0.5);
	Ennemi* pbenou13;
	pbenou13 = creerEnnemi(0,23,200,ptrajr13);
	
	Point* pptr141;
	Point* pptr142;
	pptr141 = creerPoint(90,139);
	pptr142 = creerPoint(73,289);
	Trajectoire* ptrajr14;
	ptrajr14 = creerTrajectoire(pptr141,pptr142,0.5);
	Ennemi* pbenou14;
	pbenou14 = creerEnnemi(0,90,139,ptrajr14);
	
	Point* pptp011;
	Point* pptp012;
	pptp011 = creerPoint(95,788);
	pptp012 = creerPoint(92,950);
	Trajectoire* ptrajp01;
	ptrajp01 = creerTrajectoire(pptp011,pptp012,0.8);
	Ennemi* prob01;
	prob01 = creerEnnemi(1,95,788,ptrajp01);
	
	Point* pptp021;
	Point* pptp022;
	pptp021 = creerPoint(46,770);
	pptp022 = creerPoint(10,900);
	Trajectoire* ptrajp02;
	ptrajp02 = creerTrajectoire(pptp021,pptp022,0.8);
	Ennemi* prob02;
	prob02 = creerEnnemi(1,46,770,ptrajp02);
	
	Point* pptp031;
	Point* pptp032;
	pptp031 = creerPoint(87,690);
	pptp032 = creerPoint(2,820);
	Trajectoire* ptrajp03;
	ptrajp03 = creerTrajectoire(pptp031,pptp032,0.8);
	Ennemi* prob03;
	prob03 = creerEnnemi(1,87,690,ptrajp03);
	
	Point* pptp041;
	Point* pptp042;
	pptp041 = creerPoint(84,639);
	pptp042 = creerPoint(98,775);
	Trajectoire* ptrajp04;
	ptrajp04 = creerTrajectoire(pptp041,pptp042,0.8);
	Ennemi* prob04;
	prob04 = creerEnnemi(1,84,639,ptrajp04);
	
	Point* pptp051;
	Point* pptp052;
	pptp051 = creerPoint(76,580);
	pptp052 = creerPoint(71,710);
	Trajectoire* ptrajp05;
	ptrajp05 = creerTrajectoire(pptp051,pptp052,0.8);
	Ennemi* prob05;
	prob05 = creerEnnemi(1,76,580,ptrajp05);
	
	Point* pptp061;
	Point* pptp062;
	pptp061 = creerPoint(19,528);
	pptp062 = creerPoint(50,658);
	Trajectoire* ptrajp06;
	ptrajp06 = creerTrajectoire(pptp061,pptp062,0.8);
	Ennemi* prob06;
	prob06 = creerEnnemi(1,19,528,ptrajp06);
	
	Point* pptp071;
	Point* pptp072;
	pptp071 = creerPoint(18,475);
	pptp072 = creerPoint(89,605);
	Trajectoire* ptrajp07;
	ptrajp07 = creerTrajectoire(pptp071,pptp072,0.8);
	Ennemi* prob07;
	prob07 = creerEnnemi(1,18,475,ptrajp07);
	
	Point* pptp081;
	Point* pptp082;
	pptp081 = creerPoint(35,440);
	pptp082 = creerPoint(9,570);
	Trajectoire* ptrajp08;
	ptrajp08 = creerTrajectoire(pptp081,pptp082,0.8);
	Ennemi* prob08;
	prob08 = creerEnnemi(1,35,440,ptrajp08);
	
	Point* pptp091;
	Point* pptp092;
	pptp091 = creerPoint(26,365);
	pptp092 = creerPoint(53,490);
	Trajectoire* ptrajp09;
	ptrajp09 = creerTrajectoire(pptp091,pptp092,0.8);
	Ennemi* prob09;
	prob09 = creerEnnemi(1,26,365,ptrajp09);
	
	Point* pptp101;
	Point* pptp102;
	pptp101 = creerPoint(23,328);
	pptp102 = creerPoint(10,450);
	Trajectoire* ptrajp10;
	ptrajp10 = creerTrajectoire(pptp101,pptp102,0.8);
	Ennemi* prob10;
	prob10 = creerEnnemi(1,23,328,ptrajp10);
	
	Point* pptp111;
	Point* pptp112;
	pptp111 = creerPoint(19,279);
	pptp112 = creerPoint(48,400);
	Trajectoire* ptrajp11;
	ptrajp11 = creerTrajectoire(pptp111,pptp112,0.8);
	Ennemi* prob11;
	prob11 = creerEnnemi(1,19,279,ptrajp11);
	
	Point* pptp121;
	Point* pptp122;
	pptp121 = creerPoint(75,220);
	pptp122 = creerPoint(94,350);
	Trajectoire* ptrajp12;
	ptrajp12 = creerTrajectoire(pptp121,pptp122,0.8);
	Ennemi* prob12;
	prob12 = creerEnnemi(1,75,220,ptrajp12);
	
	Point* pptp131;
	Point* pptp132;
	pptp131 = creerPoint(63,169);
	pptp132 = creerPoint(99,310);
	Trajectoire* ptrajp13;
	ptrajp13 = creerTrajectoire(pptp131,pptp132,0.8);
	Ennemi* prob13;
	prob13 = creerEnnemi(1,63,169,ptrajp13);
	
	Point* pptp141;
	Point* pptp142;
	pptp141 = creerPoint(10,126);
	pptp142 = creerPoint(65,260);
	Trajectoire* ptrajp14;
	ptrajp14 = creerTrajectoire(pptp141,pptp142,0.8);
	Ennemi* prob14;
	prob14 = creerEnnemi(1,10,126,ptrajp14);

	TabEnnemis* ptabEnnemis;
	ptabEnnemis=creerTabEnnemis ();
	ajouterEnnemi(ptabEnnemis, pbenou01);
	ajouterEnnemi(ptabEnnemis, pbenou02);
	ajouterEnnemi(ptabEnnemis, pbenou03);
	ajouterEnnemi(ptabEnnemis, pbenou04);
	ajouterEnnemi(ptabEnnemis, pbenou05);
	ajouterEnnemi(ptabEnnemis, pbenou06);
	ajouterEnnemi(ptabEnnemis, pbenou07);
	ajouterEnnemi(ptabEnnemis, pbenou08);
	ajouterEnnemi(ptabEnnemis, pbenou09);
	ajouterEnnemi(ptabEnnemis, pbenou10);
	ajouterEnnemi(ptabEnnemis, pbenou11);
	ajouterEnnemi(ptabEnnemis, pbenou12);
	ajouterEnnemi(ptabEnnemis, pbenou13);
	ajouterEnnemi(ptabEnnemis, pbenou14);
	ajouterEnnemi(ptabEnnemis, prob01);
	ajouterEnnemi(ptabEnnemis, prob02);
	ajouterEnnemi(ptabEnnemis, prob03);
	ajouterEnnemi(ptabEnnemis, prob04);
	ajouterEnnemi(ptabEnnemis, prob05);
	ajouterEnnemi(ptabEnnemis, prob06);
	ajouterEnnemi(ptabEnnemis, prob07);
	ajouterEnnemi(ptabEnnemis, prob08);
	ajouterEnnemi(ptabEnnemis, prob09);
	ajouterEnnemi(ptabEnnemis, prob10);
	ajouterEnnemi(ptabEnnemis, prob11);
	ajouterEnnemi(ptabEnnemis, prob12);
	ajouterEnnemi(ptabEnnemis, prob13);
	ajouterEnnemi(ptabEnnemis, prob14);

	TabTirs* ptab_ptir;
	ptab_ptir=creerTabTirs();
	
	TabBonus* ptab_pbonus;
	ptab_pbonus = creerTabBonus();

	Niveau* plevel;
	plevel=creerNiveau(pter, pboss, pben, ptabEnnemis, ptab_ptir, ptab_pbonus);
	plevel->nbre_ennemis=ptabEnnemis->nbre_ennemis;
	plevel->num_niveau_actuel = 3;   
	plevel->num_niveau_suivant = 4;
	return plevel;
}

Niveau* creerNiveauBenou5 ()
{
	Terrain* pter;
	pter = creerTerrain(0,100,1000,0,20);
	
	Point* pptb1;
	Point* pptb2;
	pptb1 = creerPoint(15,5);
	pptb2 = creerPoint(90,5);
	Trajectoire* ptrajb;
	ptrajb = creerTrajectoire(pptb1,pptb2,1);
	Boss* pboss;
	pboss = creerBoss(2, 15, 5, ptrajb, 0);
	
	ArmePrincipale* parmeP;
	parmeP=creerArmePrincipale();
	ArmeSecondaire* parmeS1;
	parmeS1=creerArmeSecondaire(0);
	ArmeSecondaire* parmeS2;
	parmeS2=creerArmeSecondaire(1);
	Heros* pmayuyu;
	pmayuyu=creerHeros (parmeP, parmeS1, parmeS2, 200, getDimX_terrain(pter)/2 , getDimY_terrain(pter)-10, 1, 1);
	
	Point* pptr011;
	Point* pptr012;
	pptr011 = creerPoint(50,825);
	pptr012 = creerPoint(10,955);
	Trajectoire* ptrajr01;
	ptrajr01 = creerTrajectoire(pptr011,pptr012,0.5);
	Ennemi* probin01;
	probin01 = creerEnnemi(0,50,825,ptrajr01);
	
	Point* pptr021;
	Point* pptr022;
	pptr021 = creerPoint(50,825);
	pptr022 = creerPoint(42,955);
	Trajectoire* ptrajr02;
	ptrajr02 = creerTrajectoire(pptr021,pptr022,0.5);
	Ennemi* probin02;
	probin02 = creerEnnemi(0,50,825,ptrajr02);
	
	Point* pptr031;
	Point* pptr032;
	pptr031 = creerPoint(50,825);
	pptr032 = creerPoint(74,955);
	Trajectoire* ptrajr03;
	ptrajr03 = creerTrajectoire(pptr031,pptr032,0.5);
	Ennemi* probin03;
	probin03 = creerEnnemi(0,50,825,ptrajr03);
	
	Point* pptr041;
	Point* pptr042;
	pptr041 = creerPoint(13,775);
	pptr042 = creerPoint(26,905);
	Trajectoire* ptrajr04;
	ptrajr04 = creerTrajectoire(pptr041,pptr042,0.5);
	Ennemi* probin04;
	probin04 = creerEnnemi(0,13,775,ptrajr04);
	
	Point* pptr051;
	Point* pptr052;
	pptr051 = creerPoint(13,775);
	pptr052 = creerPoint(58,905);
	Trajectoire* ptrajr05;
	ptrajr05 = creerTrajectoire(pptr051,pptr052,0.5);
	Ennemi* probin05;
	probin05 = creerEnnemi(0,13,775,ptrajr05);
	
	Point* pptr061;
	Point* pptr062;
	pptr061 = creerPoint(13,775);
	pptr062 = creerPoint(90,905);
	Trajectoire* ptrajr06;
	ptrajr06 = creerTrajectoire(pptr061,pptr062,0.5);
	Ennemi* probin06;
	probin06 = creerEnnemi(0,13,775,ptrajr06);
	
	Point* pptr071;
	Point* pptr072;
	pptr071 = creerPoint(88,725);
	pptr072 = creerPoint(10,855);
	Trajectoire* ptrajr07;
	ptrajr07 = creerTrajectoire(pptr071,pptr072,0.5);
	Ennemi* probin07;
	probin07 = creerEnnemi(0,88,725,ptrajr07);
	
	Point* pptr081;
	Point* pptr082;
	pptr081 = creerPoint(88,725);
	pptr082 = creerPoint(42,855);
	Trajectoire* ptrajr08;
	ptrajr08 = creerTrajectoire(pptr081,pptr082,0.5);
	Ennemi* probin08;
	probin08 = creerEnnemi(0,88,725,ptrajr08);
	
	Point* pptr091;
	Point* pptr092;
	pptr091 = creerPoint(88,725);
	pptr092 = creerPoint(74,855);
	Trajectoire* ptrajr09;
	ptrajr09 = creerTrajectoire(pptr091,pptr092,0.5);
	Ennemi* probin09;
	probin09 = creerEnnemi(0,88,725,ptrajr09);
	
	Point* pptr101;
	Point* pptr102;
	pptr101 = creerPoint(50,698);
	pptr102 = creerPoint(50,798);
	Trajectoire* ptrajr10;
	ptrajr10 = creerTrajectoire(pptr101,pptr102,0.5);
	Ennemi* probin10;
	probin10 = creerEnnemi(0,50,698,ptrajr10);
	
	Point* pptr111;
	Point* pptr112;
	pptr111 = creerPoint(50,670);
	pptr112 = creerPoint(50,770);
	Trajectoire* ptrajr11;
	ptrajr11 = creerTrajectoire(pptr111,pptr112,0.5);
	Ennemi* probin11;
	probin11 = creerEnnemi(0,50,670,ptrajr11);
	
	Point* pptr121;
	Point* pptr122;
	pptr121 = creerPoint(36,656);
	pptr122 = creerPoint(75,706);
	Trajectoire* ptrajr12;
	ptrajr12 = creerTrajectoire(pptr121,pptr122,0.5);
	Ennemi* probin12;
	probin12 = creerEnnemi(0,36,656,ptrajr12);
	
	Point* pptr131;
	Point* pptr132;
	pptr131 = creerPoint(64,656);
	pptr132 = creerPoint(25,706);
	Trajectoire* ptrajr13;
	ptrajr13 = creerTrajectoire(pptr131,pptr132,0.5);
	Ennemi* probin13;
	probin13 = creerEnnemi(0,64,656,ptrajr13);
	
	Point* pptr141;
	Point* pptr142;
	pptr141 = creerPoint(50,642);
	pptr142 = creerPoint(50,742);
	Trajectoire* ptrajr14;
	ptrajr14 = creerTrajectoire(pptr141,pptr142,0.5);
	Ennemi* probin14;
	probin14 = creerEnnemi(0,50,642,ptrajr14);
	
	Point* pptr151;
	Point* pptr152;
	pptr151 = creerPoint(50,614);
	pptr152 = creerPoint(50,714);
	Trajectoire* ptrajr15;
	ptrajr15 = creerTrajectoire(pptr151,pptr152,0.5);
	Ennemi* probin15;
	probin15 = creerEnnemi(0,50,614,ptrajr15);
	
	Point* pptr161;
	Point* pptr162;
	pptr161 = creerPoint(26,565);
	pptr162 = creerPoint(26,665);
	Trajectoire* ptrajr16;
	ptrajr16 = creerTrajectoire(pptr161,pptr162,0.5);
	Ennemi* probin16;
	probin16 = creerEnnemi(0,26,565,ptrajr16);
	
	Point* pptr171;
	Point* pptr172;
	pptr171 = creerPoint(2,545);
	pptr172 = creerPoint(2,645);
	Trajectoire* ptrajr17;
	ptrajr17 = creerTrajectoire(pptr171,pptr172,0.5);
	Ennemi* probin17;
	probin17 = creerEnnemi(0,2,545,ptrajr17);
	
	Point* pptr181;
	Point* pptr182;
	pptr181 = creerPoint(50,545);
	pptr182 = creerPoint(50,645);
	Trajectoire* ptrajr18;
	ptrajr18 = creerTrajectoire(pptr181,pptr182,0.5);
	Ennemi* probin18;
	probin18 = creerEnnemi(0,50,545,ptrajr18);
	
	Point* pptr191;
	Point* pptr192;
	pptr191 = creerPoint(74,535);
	pptr192 = creerPoint(74,635);
	Trajectoire* ptrajr19;
	ptrajr19 = creerTrajectoire(pptr191,pptr192,0.5);
	Ennemi* probin19;
	probin19 = creerEnnemi(0,74,535,ptrajr19);
	
	Point* pptr201;
	Point* pptr202;
	pptr201 = creerPoint(50,486);
	pptr202 = creerPoint(50,586);
	Trajectoire* ptrajr20;
	ptrajr20 = creerTrajectoire(pptr201,pptr202,0.5);
	Ennemi* probin20;
	probin20 = creerEnnemi(0,50,486,ptrajr20);
	
	Point* pptr211;
	Point* pptr212;
	pptr211 = creerPoint(22,458);
	pptr212 = creerPoint(50,508);
	Trajectoire* ptrajr21;
	ptrajr21 = creerTrajectoire(pptr211,pptr212,0.5);
	Ennemi* probin21;
	probin21 = creerEnnemi(0,22,458,ptrajr21);
	
	Point* pptr221;
	Point* pptr222;
	pptr221 = creerPoint(50,458);
	pptr222 = creerPoint(50,558);
	Trajectoire* ptrajr22;
	ptrajr22 = creerTrajectoire(pptr221,pptr222,0.5);
	Ennemi* probin22;
	probin22 = creerEnnemi(0,50,458,ptrajr22);
	
	Point* pptr231;
	Point* pptr232;
	pptr231 = creerPoint(78,458);
	pptr232 = creerPoint(50,508);
	Trajectoire* ptrajr23;
	ptrajr23 = creerTrajectoire(pptr231,pptr232,0.5);
	Ennemi* probin23;
	probin23 = creerEnnemi(0,78,458,ptrajr23);
	
	Point* pptr241;
	Point* pptr242;
	pptr241 = creerPoint(50,430);
	pptr242 = creerPoint(50,530);
	Trajectoire* ptrajr24;
	ptrajr24 = creerTrajectoire(pptr241,pptr242,0.5);
	Ennemi* probin24;
	probin24 = creerEnnemi(0,50,430,ptrajr24);
	
	Point* pptr251;
	Point* pptr252;
	pptr251 = creerPoint(50,355);
	pptr252 = creerPoint(50,455);
	Trajectoire* ptrajr25;
	ptrajr25 = creerTrajectoire(pptr251,pptr252,0.5);
	Ennemi* probin25;
	probin25 = creerEnnemi(0,50,355,ptrajr25);
	
	Point* pptr261;
	Point* pptr262;
	pptr261 = creerPoint(74,355);
	pptr262 = creerPoint(74,455);
	Trajectoire* ptrajr26;
	ptrajr26 = creerTrajectoire(pptr261,pptr262,0.5);
	Ennemi* probin26;
	probin26 = creerEnnemi(0,74,355,ptrajr26);
	
	Point* pptr271;
	Point* pptr272;
	pptr271 = creerPoint(2,345);
	pptr272 = creerPoint(2,445);
	Trajectoire* ptrajr27;
	ptrajr27 = creerTrajectoire(pptr271,pptr272,0.5);
	Ennemi* probin27;
	probin27 = creerEnnemi(0,2,345,ptrajr27);
	
	Point* pptr281;
	Point* pptr282;
	pptr281 = creerPoint(26,335);
	pptr282 = creerPoint(26,435);
	Trajectoire* ptrajr28;
	ptrajr28 = creerTrajectoire(pptr281,pptr282,0.5);
	Ennemi* probin28;
	probin28 = creerEnnemi(0,26,335,ptrajr28);
	
	Point* pptr291;
	Point* pptr292;
	pptr291 = creerPoint(45,270);
	pptr292 = creerPoint(45,370);
	Trajectoire* ptrajr29;
	ptrajr29 = creerTrajectoire(pptr291,pptr292,0.5);
	Ennemi* probin29;
	probin29 = creerEnnemi(0,45,270,ptrajr29);
	
	Point* pptr301;
	Point* pptr302;
	pptr301 = creerPoint(54,270);
	pptr302 = creerPoint(54,370);
	Trajectoire* ptrajr30;
	ptrajr30 = creerTrajectoire(pptr301,pptr302,0.5);
	Ennemi* probin30;
	probin30 = creerEnnemi(0,54,270,ptrajr30);
	
	Point* pptr311;
	Point* pptr312;
	pptr311 = creerPoint(45,250);
	pptr312 = creerPoint(45,350);
	Trajectoire* ptrajr31;
	ptrajr31 = creerTrajectoire(pptr311,pptr312,0.5);
	Ennemi* probin31;
	probin31 = creerEnnemi(0,45,250,ptrajr31);
	
	Point* pptr321;
	Point* pptr322;
	pptr321 = creerPoint(54,250);
	pptr322 = creerPoint(54,350);
	Trajectoire* ptrajr32;
	ptrajr32 = creerTrajectoire(pptr321,pptr322,0.5);
	Ennemi* probin32;
	probin32 = creerEnnemi(0,54,250,ptrajr32);
	
	Point* pptr331;
	Point* pptr332;
	pptr331 = creerPoint(45,230);
	pptr332 = creerPoint(45,330);
	Trajectoire* ptrajr33;
	ptrajr33 = creerTrajectoire(pptr331,pptr332,0.5);
	Ennemi* probin33;
	probin33 = creerEnnemi(0,45,230,ptrajr33);
	
	Point* pptr341;
	Point* pptr342;
	pptr341 = creerPoint(54,230);
	pptr342 = creerPoint(54,330);
	Trajectoire* ptrajr34;
	ptrajr34 = creerTrajectoire(pptr341,pptr342,0.5);
	Ennemi* probin34;
	probin34 = creerEnnemi(0,54,230,ptrajr34);
	
	Point* pptr351;
	Point* pptr352;
	pptr351 = creerPoint(45,210);
	pptr352 = creerPoint(45,310);
	Trajectoire* ptrajr35;
	ptrajr35 = creerTrajectoire(pptr351,pptr352,0.5);
	Ennemi* probin35;
	probin35 = creerEnnemi(0,45,210,ptrajr35);
	
	Point* pptr361;
	Point* pptr362;
	pptr361 = creerPoint(54,310);
	pptr362 = creerPoint(54,410);
	Trajectoire* ptrajr36;
	ptrajr36 = creerTrajectoire(pptr361,pptr362,0.5);
	Ennemi* probin36;
	probin36 = creerEnnemi(0,54,310,ptrajr36);
	
	Point* pptr371;
	Point* pptr372;
	pptr371 = creerPoint(68,135);
	pptr372 = creerPoint(68,235);
	Trajectoire* ptrajr37;
	ptrajr37 = creerTrajectoire(pptr371,pptr372,0.5);
	Ennemi* probin37;
	probin37 = creerEnnemi(0,68,135,ptrajr37);
	
	Point* pptr381;
	Point* pptr382;
	pptr381 = creerPoint(80,173);
	pptr382 = creerPoint(80,273);
	Trajectoire* ptrajr38;
	ptrajr38 = creerTrajectoire(pptr381,pptr382,0.5);
	Ennemi* probin38;
	probin38 = creerEnnemi(0,80,173,ptrajr38);
	
	Point* pptr391;
	Point* pptr392;
	pptr391 = creerPoint(35,171);
	pptr392 = creerPoint(35,271);
	Trajectoire* ptrajr39;
	ptrajr39 = creerTrajectoire(pptr391,pptr392,0.5);
	Ennemi* probin39;
	probin39 = creerEnnemi(0,35,171,ptrajr39);
	
	Point* pptr401;
	Point* pptr402;
	pptr401 = creerPoint(78,145);
	pptr402 = creerPoint(78,245);
	Trajectoire* ptrajr40;
	ptrajr40 = creerTrajectoire(pptr401,pptr402,0.5);
	Ennemi* probin40;
	probin40 = creerEnnemi(0,78,245,ptrajr40);
	
	Point* pptr411;
	Point* pptr412;
	pptr411 = creerPoint(67,135);
	pptr412 = creerPoint(67,235);
	Trajectoire* ptrajr41;
	ptrajr41 = creerTrajectoire(pptr411,pptr412,0.5);
	Ennemi* probin41;
	probin41 = creerEnnemi(0,67,135,ptrajr41);
	
	Point* pptr421;
	Point* pptr422;
	pptr421 = creerPoint(23,128);
	pptr422 = creerPoint(23,228);
	Trajectoire* ptrajr42;
	ptrajr42 = creerTrajectoire(pptr421,pptr422,0.5);
	Ennemi* probin42;
	probin42 = creerEnnemi(0,23,128,ptrajr42);
	
	Point* pptr431;
	Point* pptr432;
	pptr431 = creerPoint(69,114);
	pptr432 = creerPoint(69,214);
	Trajectoire* ptrajr43;
	ptrajr43 = creerTrajectoire(pptr431,pptr432,0.5);
	Ennemi* probin43;
	probin43 = creerEnnemi(0,69,114,ptrajr43);
	
	Point* pptp011;
	Point* pptp012;
	pptp011 = creerPoint(50,825);
	pptp012 = creerPoint(26,955);
	Trajectoire* ptrajp01;
	ptrajp01 = creerTrajectoire(pptp011,pptp012,0.8);
	Ennemi* ppierre01;
	ppierre01 = creerEnnemi(1,50,825,ptrajp01);
	
	Point* pptp021;
	Point* pptp022;
	pptp021 = creerPoint(50,825);
	pptp022 = creerPoint(58,955);
	Trajectoire* ptrajp02;
	ptrajp02 = creerTrajectoire(pptp021,pptp022,0.8);
	Ennemi* ppierre02;
	ppierre02 = creerEnnemi(1,50,825,ptrajp02);
	
	Point* pptp031;
	Point* pptp032;
	pptp031 = creerPoint(50,825);
	pptp032 = creerPoint(90,955);
	Trajectoire* ptrajp03;
	ptrajp03 = creerTrajectoire(pptp031,pptp032,0.8);
	Ennemi* ppierre03;
	ppierre03 = creerEnnemi(1,50,825,ptrajp03);
	
	Point* pptp041;
	Point* pptp042;
	pptp041 = creerPoint(13,775);
	pptp042 = creerPoint(10,905);
	Trajectoire* ptrajp04;
	ptrajp04 = creerTrajectoire(pptp041,pptp042,0.8);
	Ennemi* ppierre04;
	ppierre04 = creerEnnemi(1,13,775,ptrajp04);
	
	Point* pptp051;
	Point* pptp052;
	pptp051 = creerPoint(13,775);
	pptp052 = creerPoint(42,905);
	Trajectoire* ptrajp05;
	ptrajp05 = creerTrajectoire(pptp051,pptp052,0.8);
	Ennemi* ppierre05;
	ppierre05 = creerEnnemi(1,13,775,ptrajp05);
	
	Point* pptp061;
	Point* pptp062;
	pptp061 = creerPoint(13,775);
	pptp062 = creerPoint(74,905);
	Trajectoire* ptrajp06;
	ptrajp06 = creerTrajectoire(pptp061,pptp062,0.8);
	Ennemi* ppierre06;
	ppierre06 = creerEnnemi(1,13,775,ptrajp06);
	
	Point* pptp071;
	Point* pptp072;
	pptp071 = creerPoint(88,725);
	pptp072 = creerPoint(26,855);
	Trajectoire* ptrajp07;
	ptrajp07 = creerTrajectoire(pptp071,pptp072,0.8);
	Ennemi* ppierre07;
	ppierre07 = creerEnnemi(1,88,725,ptrajp07);
	
	Point* pptp081;
	Point* pptp082;
	pptp081 = creerPoint(88,725);
	pptp082 = creerPoint(58,855);
	Trajectoire* ptrajp08;
	ptrajp08 = creerTrajectoire(pptp081,pptp082,0.8);
	Ennemi* ppierre08;
	ppierre08 = creerEnnemi(1,88,725,ptrajp08);
	
	Point* pptp091;
	Point* pptp092;
	pptp091 = creerPoint(88,725);
	pptp092 = creerPoint(90,855);
	Trajectoire* ptrajp09;
	ptrajp09 = creerTrajectoire(pptp091,pptp092,0.8);
	Ennemi* ppierre09;
	ppierre09 = creerEnnemi(1,88,725,ptrajp09);
	
	Point* pptp101;
	Point* pptp102;
	pptp101 = creerPoint(50,684);
	pptp102 = creerPoint(50,784);
	Trajectoire* ptrajp10;
	ptrajp10 = creerTrajectoire(pptp101,pptp102,0.8);
	Ennemi* ppierre10;
	ppierre10 = creerEnnemi(1,50,684,ptrajp10);
	
	Point* pptp111;
	Point* pptp112;
	pptp111 = creerPoint(22,656);
	pptp112 = creerPoint(50,706);
	Trajectoire* ptrajp11;
	ptrajp11 = creerTrajectoire(pptp111,pptp112,0.8);
	Ennemi* ppierre11;
	ppierre11 = creerEnnemi(1,22,656,ptrajp11);
	
	Point* pptp121;
	Point* pptp122;
	pptp121 = creerPoint(50,656);
	pptp122 = creerPoint(50,756);
	Trajectoire* ptrajp12;
	ptrajp12 = creerTrajectoire(pptp121,pptp122,0.8);
	Ennemi* ppierre12;
	ppierre12 = creerEnnemi(1,50,656,ptrajp12);
	
	Point* pptp131;
	Point* pptp132;
	pptp131 = creerPoint(78,656);
	pptp132 = creerPoint(50,706);
	Trajectoire* ptrajp13;
	ptrajp13 = creerTrajectoire(pptp131,pptp132,0.8);
	Ennemi* ppierre13;
	ppierre13 = creerEnnemi(1,78,656,ptrajp13);
	
	Point* pptp141;
	Point* pptp142;
	pptp141 = creerPoint(50,628);
	pptp142 = creerPoint(50,728);
	Trajectoire* ptrajp14;
	ptrajp14 = creerTrajectoire(pptp141,pptp142,0.8);
	Ennemi* ppierre14;
	ppierre14 = creerEnnemi(1,50,628,ptrajp14);
	
	Point* pptp151;
	Point* pptp152;
	pptp151 = creerPoint(14,355);
	pptp152 = creerPoint(14,455);
	Trajectoire* ptrajp15;
	ptrajp15 = creerTrajectoire(pptp151,pptp152,0.8);
	Ennemi* ppierre15;
	ppierre15 = creerEnnemi(1,14,355,ptrajp15);
	
	Point* pptp161;
	Point* pptp162;
	pptp161 = creerPoint(35,355);
	pptp162 = creerPoint(35,455);
	Trajectoire* ptrajp16;
	ptrajp16 = creerTrajectoire(pptp161,pptp162,0.8);
	Ennemi* ppierre16;
	ppierre16 = creerEnnemi(1,35,355,ptrajp16);
	
	Point* pptp171;
	Point* pptp172;
	pptp171 = creerPoint(86,545);
	pptp172 = creerPoint(86,645);
	Trajectoire* ptrajp17;
	ptrajp17 = creerTrajectoire(pptp171,pptp172,0.8);
	Ennemi* ppierre17;
	ppierre17 = creerEnnemi(1,86,545,ptrajp17);
	
	Point* pptp181;
	Point* pptp182;
	pptp181 = creerPoint(62,535);
	pptp182 = creerPoint(62,635);
	Trajectoire* ptrajp18;
	ptrajp18 = creerTrajectoire(pptp181,pptp182,0.8);
	Ennemi* ppierre18;
	ppierre18 = creerEnnemi(1,62,535,ptrajp18);
	
	Point* pptp191;
	Point* pptp192;
	pptp191 = creerPoint(50,500);
	pptp192 = creerPoint(50,600);
	Trajectoire* ptrajp19;
	ptrajp19 = creerTrajectoire(pptp191,pptp192,0.8);
	Ennemi* ppierre19;
	ppierre19 = creerEnnemi(1,50,500,ptrajp19);
	
	Point* pptp201;
	Point* pptp202;
	pptp201 = creerPoint(50,472);
	pptp202 = creerPoint(50,572);
	Trajectoire* ptrajp20;
	ptrajp20 = creerTrajectoire(pptp201,pptp202,0.8);
	Ennemi* ppierre20;
	ppierre20 = creerEnnemi(1,50,472,ptrajp20);
	
	Point* pptp211;
	Point* pptp212;
	pptp211 = creerPoint(36,458);
	pptp212 = creerPoint(75,508);
	Trajectoire* ptrajp21;
	ptrajp21 = creerTrajectoire(pptp211,pptp212,0.8);
	Ennemi* ppierre21;
	ppierre21 = creerEnnemi(1,36,458,ptrajp21);
	
	Point* pptp221;
	Point* pptp222;
	pptp221 = creerPoint(64,458);
	pptp222 = creerPoint(25,508);
	Trajectoire* ptrajp22;
	ptrajp22 = creerTrajectoire(pptp221,pptp222,0.8);
	Ennemi* ppierre22;
	ppierre22 = creerEnnemi(1,64,458,ptrajp22);
	
	Point* pptp231;
	Point* pptp232;
	pptp231 = creerPoint(50,444);
	pptp232 = creerPoint(50,544);
	Trajectoire* ptrajp23;
	ptrajp23 = creerTrajectoire(pptp231,pptp232,0.8);
	Ennemi* ppierre23;
	ppierre23 = creerEnnemi(1,50,444,ptrajp23);
	
	Point* pptp241;
	Point* pptp242;
	pptp241 = creerPoint(50,416);
	pptp242 = creerPoint(50,516);
	Trajectoire* ptrajp24;
	ptrajp24 = creerTrajectoire(pptp241,pptp242,0.8);
	Ennemi* ppierre24;
	ppierre24 = creerEnnemi(1,50,416,ptrajp24);
	
	Point* pptp251;
	Point* pptp252;
	pptp251 = creerPoint(50,365);
	pptp252 = creerPoint(50,465);
	Trajectoire* ptrajp25;
	ptrajp25 = creerTrajectoire(pptp251,pptp252,0.8);
	Ennemi* ppierre25;
	ppierre25 = creerEnnemi(1,50,365,ptrajp25);
	
	Point* pptp261;
	Point* pptp262;
	pptp261 = creerPoint(38,345);
	pptp262 = creerPoint(38,445);
	Trajectoire* ptrajp26;
	ptrajp26 = creerTrajectoire(pptp261,pptp262,0.8);
	Ennemi* ppierre26;
	ppierre26 = creerEnnemi(1,38,345,ptrajp26);
	
	Point* pptp271;
	Point* pptp272;
	pptp271 = creerPoint(86,345);
	pptp272 = creerPoint(86,445);
	Trajectoire* ptrajp27;
	ptrajp27 = creerTrajectoire(pptp271,pptp272,0.8);
	Ennemi* ppierre27;
	ppierre27 = creerEnnemi(1,86,345,ptrajp27);
	
	Point* pptp281;
	Point* pptp282;
	pptp281 = creerPoint(14,335);
	pptp282 = creerPoint(14,435);
	Trajectoire* ptrajp28;
	ptrajp28 = creerTrajectoire(pptp281,pptp282,0.8);
	Ennemi* ppierre28;
	ppierre28 = creerEnnemi(1,14,335,ptrajp28);
	
	Point* pptp291;
	Point* pptp292;
	pptp291 = creerPoint(45,290);
	pptp292 = creerPoint(45,390);
	Trajectoire* ptrajp29;
	ptrajp29 = creerTrajectoire(pptp291,pptp292,0.8);
	Ennemi* ppierre29;
	ppierre29 = creerEnnemi(1,45,290,ptrajp29);
	
	Point* pptp301;
	Point* pptp302;
	pptp301 = creerPoint(54,290);
	pptp302 = creerPoint(54,390);
	Trajectoire* ptrajp30;
	ptrajp30 = creerTrajectoire(pptp301,pptp302,0.8);
	Ennemi* ppierre30;
	ppierre30 = creerEnnemi(1,54,290,ptrajp30);
	
	Point* pptp311;
	Point* pptp312;
	pptp311 = creerPoint(36,270);
	pptp312 = creerPoint(36,370);
	Trajectoire* ptrajp31;
	ptrajp31 = creerTrajectoire(pptp311,pptp312,0.8);
	Ennemi* ppierre31;
	ppierre31 = creerEnnemi(1,36,270,ptrajp31);
	
	Point* pptp321;
	Point* pptp322;
	pptp321 = creerPoint(63,270);
	pptp322 = creerPoint(63,370);
	Trajectoire* ptrajp32;
	ptrajp32 = creerTrajectoire(pptp321,pptp322,0.8);
	Ennemi* ppierre32;
	ppierre32 = creerEnnemi(1,63,270,ptrajp32);
	
	Point* pptp331;
	Point* pptp332;
	pptp331 = creerPoint(27,250);
	pptp332 = creerPoint(27,350);
	Trajectoire* ptrajp33;
	ptrajp33 = creerTrajectoire(pptp331,pptp332,0.8);
	Ennemi* ppierre33;
	ppierre33 = creerEnnemi(1,27,250,ptrajp33);
	
	Point* pptp341;
	Point* pptp342;
	pptp341 = creerPoint(72,250);
	pptp342 = creerPoint(72,350);
	Trajectoire* ptrajp34;
	ptrajp34 = creerTrajectoire(pptp341,pptp342,0.8);
	Ennemi* ppierre34;
	ppierre34 = creerEnnemi(1,72,250,ptrajp34);
	
	Point* pptp351;
	Point* pptp352;
	pptp351 = creerPoint(18,230);
	pptp352 = creerPoint(18,330);
	Trajectoire* ptrajp35;
	ptrajp35 = creerTrajectoire(pptp351,pptp352,0.8);
	Ennemi* ppierre35;
	ppierre35 = creerEnnemi(1,18,230,ptrajp35);
	
	Point* pptp361;
	Point* pptp362;
	pptp361 = creerPoint(81,230);
	pptp362 = creerPoint(81,330);
	Trajectoire* ptrajp36;
	ptrajp36 = creerTrajectoire(pptp361,pptp362,0.8);
	Ennemi* ppierre36;
	ppierre36 = creerEnnemi(1,81,230,ptrajp36);
	
	Point* pptp371;
	Point* pptp372;
	pptp371 = creerPoint(45,199);
	pptp372 = creerPoint(25,300);
	Trajectoire* ptrajp37;
	ptrajp37 = creerTrajectoire(pptp371,pptp372,0.8);
	Ennemi* ppierre37;
	ppierre37 = creerEnnemi(1,45,199,ptrajp37);
	
	Point* pptp381;
	Point* pptp382;
	pptp381 = creerPoint(82,198);
	pptp382 = creerPoint(75,300);
	Trajectoire* ptrajp38;
	ptrajp38 = creerTrajectoire(pptp381,pptp382,0.8);
	Ennemi* ppierre38;
	ppierre38 = creerEnnemi(1,82,198,ptrajp38);
	
	Point* pptp391;
	Point* pptp392;
	pptp391 = creerPoint(69,169);
	pptp392 = creerPoint(50,300);
	Trajectoire* ptrajp39;
	ptrajp39 = creerTrajectoire(pptp391,pptp392,0.8);
	Ennemi* ppierre39;
	ppierre39 = creerEnnemi(1,69,169,ptrajp39);
	
	Point* pptp401;
	Point* pptp402;
	pptp401 = creerPoint(50,150);
	pptp402 = creerPoint(50,250);
	Trajectoire* ptrajp40;
	ptrajp40 = creerTrajectoire(pptp401,pptp402,0.8);
	Ennemi* ppierre40;
	ppierre40 = creerEnnemi(1,50,150,ptrajp40);
	
	Point* pptp411;
	Point* pptp412;
	pptp411 = creerPoint(38,140);
	pptp412 = creerPoint(75,240);
	Trajectoire* ptrajp41;
	ptrajp41 = creerTrajectoire(pptp411,pptp412,0.8);
	Ennemi* ppierre41;
	ppierre41 = creerEnnemi(1,38,140,ptrajp41);
	
	Point* pptp421;
	Point* pptp422;
	pptp421 = creerPoint(21,179);
	pptp422 = creerPoint(100,300);
	Trajectoire* ptrajp42;
	ptrajp42 = creerTrajectoire(pptp421,pptp422,0.8);
	Ennemi* ppierre42;
	ppierre42 = creerEnnemi(1,21,179,ptrajp42);
	
	Point* pptp431;
	Point* pptp432;
	pptp431 = creerPoint(84,120);
	pptp432 = creerPoint(45,250);
	Trajectoire* ptrajp43;
	ptrajp43 = creerTrajectoire(pptp431,pptp432,0.8);
	Ennemi* ppierre43;
	ppierre43 = creerEnnemi(1,84,120,ptrajp43);
	
	Point* pptp441;
	Point* pptp442;
	pptp441 = creerPoint(19,110);
	pptp442 = creerPoint(50,230);
	Trajectoire* ptrajp44;
	ptrajp44 = creerTrajectoire(pptp441,pptp442,0.8);
	Ennemi* ppierre44;
	ppierre44 = creerEnnemi(1,19,110,ptrajp44);

	TabEnnemis* ptabEnnemis;
	ptabEnnemis=creerTabEnnemis ();
	ajouterEnnemi(ptabEnnemis, probin01);
	ajouterEnnemi(ptabEnnemis, probin02);
	ajouterEnnemi(ptabEnnemis, probin03);
	ajouterEnnemi(ptabEnnemis, probin04);
	ajouterEnnemi(ptabEnnemis, probin05);
	ajouterEnnemi(ptabEnnemis, probin06);
	ajouterEnnemi(ptabEnnemis, probin07);
	ajouterEnnemi(ptabEnnemis, probin08);
	ajouterEnnemi(ptabEnnemis, probin09);
	ajouterEnnemi(ptabEnnemis, probin10);
	ajouterEnnemi(ptabEnnemis, probin11);
	ajouterEnnemi(ptabEnnemis, probin12);
	ajouterEnnemi(ptabEnnemis, probin13);
	ajouterEnnemi(ptabEnnemis, probin14);
	ajouterEnnemi(ptabEnnemis, probin15);
	ajouterEnnemi(ptabEnnemis, probin16);
	ajouterEnnemi(ptabEnnemis, probin17);
	ajouterEnnemi(ptabEnnemis, probin18);
	ajouterEnnemi(ptabEnnemis, probin19);
	ajouterEnnemi(ptabEnnemis, probin20);
	ajouterEnnemi(ptabEnnemis, probin21);
	ajouterEnnemi(ptabEnnemis, probin22);
	ajouterEnnemi(ptabEnnemis, probin23);
	ajouterEnnemi(ptabEnnemis, probin24);
	ajouterEnnemi(ptabEnnemis, probin25);
	ajouterEnnemi(ptabEnnemis, probin26);
	ajouterEnnemi(ptabEnnemis, probin27);
	ajouterEnnemi(ptabEnnemis, probin28);
	ajouterEnnemi(ptabEnnemis, probin29);
	ajouterEnnemi(ptabEnnemis, probin30);
	ajouterEnnemi(ptabEnnemis, probin31);
	ajouterEnnemi(ptabEnnemis, probin32);
	ajouterEnnemi(ptabEnnemis, probin33);
	ajouterEnnemi(ptabEnnemis, probin34);
	ajouterEnnemi(ptabEnnemis, probin35);
	ajouterEnnemi(ptabEnnemis, probin36);
	ajouterEnnemi(ptabEnnemis, probin37);
	ajouterEnnemi(ptabEnnemis, probin38);
	ajouterEnnemi(ptabEnnemis, probin39);
	ajouterEnnemi(ptabEnnemis, probin40);
	ajouterEnnemi(ptabEnnemis, probin41);
	ajouterEnnemi(ptabEnnemis, probin42);
	ajouterEnnemi(ptabEnnemis, probin43);
	ajouterEnnemi(ptabEnnemis, ppierre01);
	ajouterEnnemi(ptabEnnemis, ppierre02);
	ajouterEnnemi(ptabEnnemis, ppierre03);
	ajouterEnnemi(ptabEnnemis, ppierre04);
	ajouterEnnemi(ptabEnnemis, ppierre05);
	ajouterEnnemi(ptabEnnemis, ppierre06);
	ajouterEnnemi(ptabEnnemis, ppierre07);
	ajouterEnnemi(ptabEnnemis, ppierre08);
	ajouterEnnemi(ptabEnnemis, ppierre09);
	ajouterEnnemi(ptabEnnemis, ppierre10);
	ajouterEnnemi(ptabEnnemis, ppierre11);
	ajouterEnnemi(ptabEnnemis, ppierre12);
	ajouterEnnemi(ptabEnnemis, ppierre13);
	ajouterEnnemi(ptabEnnemis, ppierre14);
	ajouterEnnemi(ptabEnnemis, ppierre15);
	ajouterEnnemi(ptabEnnemis, ppierre16);
	ajouterEnnemi(ptabEnnemis, ppierre17);
	ajouterEnnemi(ptabEnnemis, ppierre18);
	ajouterEnnemi(ptabEnnemis, ppierre19);
	ajouterEnnemi(ptabEnnemis, ppierre20);
	ajouterEnnemi(ptabEnnemis, ppierre21);
	ajouterEnnemi(ptabEnnemis, ppierre22);
	ajouterEnnemi(ptabEnnemis, ppierre23);
	ajouterEnnemi(ptabEnnemis, ppierre24);
	ajouterEnnemi(ptabEnnemis, ppierre25);
	ajouterEnnemi(ptabEnnemis, ppierre26);
	ajouterEnnemi(ptabEnnemis, ppierre27);
	ajouterEnnemi(ptabEnnemis, ppierre28);
	ajouterEnnemi(ptabEnnemis, ppierre29);
	ajouterEnnemi(ptabEnnemis, ppierre30);
	ajouterEnnemi(ptabEnnemis, ppierre31);
	ajouterEnnemi(ptabEnnemis, ppierre32);
	ajouterEnnemi(ptabEnnemis, ppierre33);
	ajouterEnnemi(ptabEnnemis, ppierre34);
	ajouterEnnemi(ptabEnnemis, ppierre35);
	ajouterEnnemi(ptabEnnemis, ppierre36);
	ajouterEnnemi(ptabEnnemis, ppierre37);
	ajouterEnnemi(ptabEnnemis, ppierre38);
	ajouterEnnemi(ptabEnnemis, ppierre39);
	ajouterEnnemi(ptabEnnemis, ppierre40);
	ajouterEnnemi(ptabEnnemis, ppierre41);
	ajouterEnnemi(ptabEnnemis, ppierre42);
	ajouterEnnemi(ptabEnnemis, ppierre43);
	ajouterEnnemi(ptabEnnemis, ppierre44);

	TabTirs* ptab_ptir;
	ptab_ptir=creerTabTirs();
	
	TabBonus* ptab_pbonus;
	ptab_pbonus = creerTabBonus();

	Niveau* plevel;
	plevel=creerNiveau(pter, pboss, pmayuyu, ptabEnnemis, ptab_ptir, ptab_pbonus);
	plevel->nbre_ennemis=ptabEnnemis->nbre_ennemis;
	plevel->num_niveau_actuel = 4;
	plevel->num_niveau_suivant = 5;
	return plevel;
}


/** @brief Cette procedure permet de tester toutes les fonctions du module*/
void testRegressionNiveau ()
{
	printf ("on va creer un terrain\n");
	Terrain* pter;
	pter=creerTerrain (0, 20, 50, 1, 20);
	
	printf ("on va creer des points\n\n");
	Point* ppt3;
	Point* ppt4;
	ppt3=creerPoint (7, 7);
	ppt4=creerPoint (15, 32);
	Trajectoire* ptraj2;
	ptraj2=creerTrajectoire (ppt3, ppt4, 3.00);
	printf("%f,%f,%f et %f\n\n",ptraj2->ppoint1->posX_point,
				     ptraj2->ppoint1->posY_point,
				     ptraj2->ppoint2->posX_point,
				     ptraj2->ppoint2->posY_point);
	
	Point* ppt5;
	Point* ppt6;
	printf ("on va creer des points\n\n");
	ppt5=creerPoint (8, 8);
	ppt6=creerPoint (12, 28);
	Trajectoire* ptraj3;
	ptraj3=creerTrajectoire (ppt5, ppt6, 2.00);
	printf("l'adresse est %p\n\n",ptraj3);
	printf("%f,%f,%f et %f\n\n",ptraj3->ppoint1->posX_point,
				     ptraj3->ppoint1->posY_point,
				     ptraj3->ppoint2->posX_point,
				     ptraj3->ppoint2->posY_point);
	
	printf ("on va creer un boss (benou)\n");	//d'ou le boss ce serait benou serieux c'est le meilleur ctoo
	Boss* pbenou;
	pbenou=creerBoss (2, 5, 10, ptraj2, 0);
	printf("l'adresse est %p\n\n",pbenou);
	
	printf ("on va creer une arme principale\n");
	ArmePrincipale* parmeP;
	parmeP=creerArmePrincipale();
	printf("l'adresse est %p\n\n",parmeP);
	
	printf ("on va creer un tir\n");
	Tir* ptir;
	ptir=creerTir (1, 1, 1, 2, ptraj2, 0);
	printf("l'adresse est %p\n\n",ptir);
	
	printf ("on va creer un tableau de tirs\n");
	TabTirs* ptab_ptir;
	ptab_ptir=creerTabTirs();
	
	
	printf ("on va creer une arme secondaire 1\n");
	ArmeSecondaire* parmeS1;
	parmeS1=creerArmeSecondaire(0);
	printf("l'adresse est %p\n\n",parmeS1);
	printf ("on va creer une arme secondaire 2\n");
	ArmeSecondaire* parmeS2;
	parmeS2=creerArmeSecondaire(1);
	printf("l'adresse est %p\n\n",parmeS2);
	
	printf ("on va creer une heroine (mayuyu)\n"); //ça m'aurait étonné qu'elle s'appelle autrement
	Heros* pmayuyu;
	pmayuyu=creerHeros (parmeP, parmeS1, parmeS2, 250, 12 ,12 , 1, 1);
	
	printf ("on va creer un tab ennemis\n");
	TabEnnemis* ptabEnnemis;
	ptabEnnemis=creerTabEnnemis ();

	printf ("on va creer un ennemi (robin)\n");  //Tu veux VRAIMENT qu'on soit méchant ? vous l'etes. Geeeeeeenre
	Ennemi* probin;
	probin=creerEnnemi(1, 7, 7,  ptraj2);
	enleverVieEnnemi (probin, 1);
	printf("la vie est %d\n\n",probin->PV_ennemi);
	enleverVieEnnemi (probin, 1);
	enleverVieEnnemi (probin, 1);
	printf("la vie est %d\n\n",probin->PV_ennemi);
	printf ("on va creer un ennemi (pierre)\n");
	Ennemi* ppierre;
	ppierre=creerEnnemi(1, 8, 8, ptraj3);
	printf ("on rajoute robin et pierre dans le tab ennemis\n");
	ajouterEnnemi(ptabEnnemis, probin);
	ajouterEnnemi(ptabEnnemis, ppierre);
	
	printf("on va creer le tab de BONUS\n\n");
	TabBonus* ptab_pbonus;
	ptab_pbonus = creerTabBonus();
	
	printf ("on va creer le NIVEAU\n\n");
	Niveau* plevel;
	plevel=creerNiveau(pter, pbenou, pmayuyu, ptabEnnemis, ptab_ptir, ptab_pbonus);
	plevel->nbre_ennemis=ptabEnnemis->nbre_ennemis;
	printf("ce nombre devrait etre 2 : %d,et la vie est %d\n",plevel->nbre_ennemis,plevel->ptab_pennemis->ptab_ennemis[1]->PV_ennemi);
	
	
	printf("le nbre d'ennemis est %d\n\n",plevel->ptab_pennemis->nbre_ennemis);
	printf("mayuyu posx: %f, posy: %f\n", getPosXHeros(pmayuyu), getPosYHeros(pmayuyu));
	printf("deplacement a gauche\n");
	niveauActionClavierSouris (plevel,'g');
	printf("le nbre d'ennemis est %d\n\n",plevel->ptab_pennemis->nbre_ennemis);
	
	printf("mayuyu posx: %f, posy: %f\n", getPosXHeros(pmayuyu), getPosYHeros(pmayuyu));
	printf("deplacement en bas\n");
	niveauActionClavierSouris (plevel,'b');
	printf("le nbre d'ennemis est %d\n\n",plevel->ptab_pennemis->nbre_ennemis);
	
	printf("mayuyu posx: %f, posy: %f\n", getPosXHeros(pmayuyu), getPosYHeros(pmayuyu));
	printf("deplacement a droite\n");
	niveauActionClavierSouris (plevel,'d');
	printf("le nbre d'ennemis est %d\n\n",plevel->ptab_pennemis->nbre_ennemis);
	
	printf("mayuyu posx: %f, posy: %f\n", getPosXHeros(pmayuyu), getPosYHeros(pmayuyu));
	printf("deplacement en haut\n");
	niveauActionClavierSouris (plevel,'h');
	printf("le nbre d'ennemis est %d\n\n",plevel->ptab_pennemis->nbre_ennemis);
	printf("mayuyu posx: %f, posy: %f\n", getPosXHeros(pmayuyu), getPosYHeros(pmayuyu));
	
	printf("robin posx: %f, posy: %f\n", getPosXEnnemi(probin), getPosYEnnemi(probin));
	printf("pierre posx: %f, posy: %f\n", getPosXEnnemi(ppierre), getPosYEnnemi(ppierre));
	printf("evolution du niveau\n");
	niveauEvolution (plevel);
	printf("robin posx: %f, posy: %f\n", getPosXEnnemi(probin), getPosYEnnemi(probin));
	printf("pierre posx: %f, posy: %f\n", getPosXEnnemi(ppierre), getPosYEnnemi(ppierre));
	printf("evolution du niveau\n");
	niveauEvolution (plevel);
	printf("robin posx: %f, posy: %f\n", getPosXEnnemi(probin), getPosYEnnemi(probin));
	printf("pierre posx: %f, posy: %f\n", getPosXEnnemi(ppierre), getPosYEnnemi(ppierre));
	printf("evolution du niveau\n");
	niveauEvolution (plevel);
	printf("robin posx: %f, posy: %f\n", getPosXEnnemi(probin), getPosYEnnemi(probin));
	printf("pierre posx: %f, posy: %f\n", getPosXEnnemi(ppierre), getPosYEnnemi(ppierre));
	printf("evolution du niveau\n");
	niveauEvolution (plevel);
	printf("robin posx: %f, posy: %f\n", getPosXEnnemi(probin), getPosYEnnemi(probin));
	printf("pierre posx: %f, posy: %f\n", getPosXEnnemi(ppierre), getPosYEnnemi(ppierre));
	printf("evolution du niveau\n");
	niveauEvolution (plevel);
	printf("robin posx: %f, posy: %f\n", getPosXEnnemi(probin), getPosYEnnemi(probin));
	printf("pierre posx: %f, posy: %f\n", getPosXEnnemi(ppierre), getPosYEnnemi(ppierre));
	printf("evolution du niveau\n");
	niveauEvolution (plevel);
	printf("robin posx: %f, posy: %f\n", getPosXEnnemi(probin), getPosYEnnemi(probin));
	printf("pierre posx: %f, posy: %f\n", getPosXEnnemi(ppierre), getPosYEnnemi(ppierre));
	printf("evolution du niveau\n");
	niveauEvolution (plevel);
	printf("robin posx: %f, posy: %f\n", getPosXEnnemi(probin), getPosYEnnemi(probin));
	printf("pierre posx: %f, posy: %f\n", getPosXEnnemi(ppierre), getPosYEnnemi(ppierre));
	printf("evolution du niveau\n");
	niveauEvolution (plevel);
	
	printf("%p\n\n",plevel->phero);
	detruireNiveau (&plevel);
	
	printf("fin du test de regression de NIVEAU\n");
	
}
